jQuery中的nothas()方法是一种筛选函数,主要用于获取不含有指定子元素的元素集合。
$('div').not(':has(p)').css({'border': '1px solid red'});
上面的代码意思是选择所有div元素,但是不包括含有p子元素的div元素,然后改变这些div元素的边框样式为红色实线边框。
也可以使用函数形式的nothas()方法实现同样的效果:
$('div').not(function(){ return $(this).has('p');}).css({'border': '1px solid red'});
需要注意的是,nothas()方法只在当前元素或其子元素中查找,而不考虑祖先元素中是否包含指定的子元素。