jQuery filter()

admin發表於2017-02-14

篩選出與指定表示式或者方法返回值相匹配的元素或者元素集合。

返回值是jQuery物件。

語法結構一:

[JavaScript] 純文字檢視 複製程式碼
$(selector).filter(expr)

引數解析:

expr:字串值,用於篩選當前元素集合的選擇器表示式。

jQuery1.0版本新增。

語法結構二:

[JavaScript] 純文字檢視 複製程式碼
$(selector).filter(function(index))

篩選出與指定函式返回值匹配的元素集合。

filter()內部對每個物件計算一次 (如$.each)。如果function返回false則這個元素被刪除,否則就會保留。

引數解析:

function:定義返回filter()匹配值的函式

  (1).index為當前元素在匹配元素集合中的索引值。

  (2).this是當前DOM元素。

jQuery1.0版本新增。

語法結構三:

[JavaScript] 純文字檢視 複製程式碼
$(selector).filter(element)

引數解析:

element:一個或多個DOM元素來匹配當前元素集合。

jQuery1.4版本新增。

語法結構四:

[JavaScript] 純文字檢視 複製程式碼
$(selector).filter(jQuery object)

引數解析:

jQuery object:jQuery物件,用於篩選當前元素集合。

jQuery1.4版本新增。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("li").filter(".ant").css("color","blue")
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
</body>
</html>

上面的程式碼將類名為"ant"的li元素字型顏色設定為藍色。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("ul").filter(function(index){
    return $(".ant", this).length == 0;
  }).css("color","blue")
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
  <ul>
    <li>螞蟻部落</li>
  </ul>
</div>
</body>
</html>

上面的會將第二ul的字型顏色設定為藍色,因為它內部的li元素沒有具有"ant"樣式類的。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function () {
  var oli = document.getElementById("ant");
  $("li").filter(oli).css("color", "blue")
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li id="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
</body>
</html>

將第二個li元素字型顏色設定為藍色。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function () {
  var oli = document.getElementById("ant");
  $("li").filter($("#ant")).css("color", "blue")
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li id="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
</body>
</html>

將第二個li元素字型顏色設定為藍色。

相關文章