试图找到一个选择器来获取所有既没有类又没有设置ID的元素。
到目前为止,根据选择器中是否有空格,我有2种不同的输出:
// outputs
var noID = $('*:not([id])');// 144 - may have a class
var noClass = $('*:not([class])'); // 100 - may have an id
var withSpace = $('*:not([id]) *:not([class])'); // 99 ?
var noSpace= $('*:not([id])*:not([class])'); // 84 ?
哪一个是正确的,我的猜测是
noSpace
-但我不知道。有人尝试过吗?我的猜测是,有了空格,选择器就会进入没有ID的标签内,并选择没有与之关联的子元素。
noSpace
结果是正确的,因为它只选择既没有类又没有id的要素。有人可以验证吗?谢谢!
回答
使用此选择器查找既没有类也没有与它们关联的ID的元素。
$('*:not([id]):not([class])');
红利:
$('body *:not([id]):not([class])');
-如果您只想处理实际内容 最佳答案
withSpace-$('*:not([id]) *:not([class])');
将在没有ID的元素内找到所有没有类的元素。在选择器中放置一个空格就像分别调用find。
您可以将noSpace更改为this,但仍然可以获得正确的结果:
var noSpace= $('*:not([id]):not([class])'); // second * not needed
JSFiddle used for testing