jQuery not()

admin發表於2017-02-14

此方法從匹配的元素集合中移除指定的元素。

語法結構一:

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

引數解析:

expr:一個用於匹配元素的選擇器字串。

jQuery1.0版本新增。

語法結構二:

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

引數解析:

elements:要從匹配元素集合中移除的一個或多個DOM元素。

jQuery1.0版本新增。

語法結構三:

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

引數解析:

function(index):用來遍歷匹配元素集合的函式,如何返回true,則移除當前元素。此函式接受一個引數index,這是元素在jQuery集合的索引(從0開始)。this指的是當前的DOM元素。

jQuery1.4版本新增。

語法結構四:

[JavaScript] 純文字檢視 複製程式碼
$(selector).not(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 () {
  var len = $("li").not(".ant").length;
  $("#result").text(len);
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
<div id="result"></div>
</body>
</html>

將li元素集合中class屬性值為"ant"的li元素移出,所以輸出結果是3。

[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 li_2 = document.getElementsByTagName("li")[2];
  var len = $("li").not(li_2).length;
  $("#result").text(len);
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
<div id="result"></div>
</body>
</html>

功能和上面程式碼相同,只不過引數是要移除的dom元素物件。

[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 len = $("li").not(function () {
    return $(this).attr("class") == "ant"
  }).length;
  $("#result").text(len);
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
<div id="result"></div>
</body>
</html>

功能和上面程式碼相同,如果回撥函式的返回值為true,則移出當前元素。

[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 li_2 = $("li").eq(2);
  var len = $("li").not(li_2).length;
  $("#result").text(len);
})
</script>
</head>
<body>
<div>
  <ul>
    <li>螞蟻部落一</li>
    <li class="ant">螞蟻部落二</li>
    <li>螞蟻部落三</li>
    <li>螞蟻部落四</li>
  </ul>
</div>
<div id="result"></div>
</body>
</html>

功能和上面程式碼相同,只不過引數是與要移除元素對應的jQuery物件。

相關文章