javascript - jQuery 选择没有类或 ID 的元素

标签 javascript jquery jquery-selectors

试图找到一个选择器来获取所有既没有类也没有设置 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 改成这样,仍然会得到正确的结果:

var noSpace= $('*:not([id]):not([class])'); // second * not needed

JSFiddle used for testing

关于javascript - jQuery 选择没有类或 ID 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915504/

相关文章:

javascript - Angular ng-class 呈现正确的类,但 Karma 显示错误

javascript - 如何通过类名同时删除多个动态生成的元素?

jQuery 选择器效率

javascript - jQuery 实时处理程序但对于每个()?

jquery - 如何确定 Jquery 中另一个元素触发的单选框的状态?

javascript - Twitter API 在用户发推文后注销用户

javascript - Playwright 中有没有办法在动态表中选择特定按钮?

javascript - 未捕获的 ReferenceError : Showdown is not defined, ReactJS.NET

javascript - jQuery 工具 -> 工具提示销毁方法?

javascript - 将 CSS 中的样式应用到新附加的元素