jquery not()函数怎么用?
not() 从匹配元素集合中删除元素。
如果提供的jQuery对象代表了一组DOM元素,.not()方法构建一个新的匹配元素的jQuery对象,用于存放筛选后的元素。所提供的选择器是对每个元素进行测试;如果元素不匹配的选择将包括在结果中。
从jQuery 1.4开始,.not()方法可以接受一个函数作为参数,这和.filter()方式是一样。如果该函数返回 true,那么当前元素就不会包含在结果中。
语法:
$(selector).not(criteria,function(index))
参数
criteria:可选。规定要从被选元素组合中移除的选择器表达式、jQuery 对象、一个或多个元素。提示:如需规定多个条件,请使用逗号分隔。
function(index):可选。为组合中的每个元素规定要运行的函数。如果返回 true,则移除元素,否则元素将被保留。
index - 集合中元素的 index 位置。
注意: this 是当前的 DOM 元素。
返回值:这将返回除选定元素以外的所有元素。
示例:移除具体的元素
.not() 方法允许我们从匹配集中删除元素,假设我们之前已经通过其他手段找到了这些元素。例如,设想一个列表已经将 id 应用到其中一个项目中:
<!DOCTYPE html> <html> <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> </head> <body> <ul> <li>list item 1</li> <li>list item 2</li> <li id="notli">list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul> <script> $('li').not(document.getElementById('notli')).css('background-color', 'red'); </script> </body> </html>
效果图:
说明:
我们可以使用原生的 JavaScript 函数 getElementById() 读取第三个列表项,然后把它从 jQuery 对象中删除:
$('li').not(document.getElementById('notli')).css('background-color', 'red');
这条语句改变项目 1、2、3 和 5 的背景色。我们可以用更简单的 jQuery 表达式来完成同样的事情,但是这项技术在比方说其他库提供对纯 DOM 节点的引用时会很有用。
© 著作权归作者所有
发表评论