选择html页面中没有id的元素

时间:2014-02-23 00:54:39

标签: javascript

我的HTML中有多个按钮,我只想选择那些没有和id属性的按钮。

要选择所有按钮,我使用此脚本返回所有按钮:

var buttonNodesList = document.querySelectorAll('button');

我用Google搜索了一下,我发现要获取所有具有id的按钮,我就要使用这样的脚本:

var buttonNodesList = document.querySelectorAll('button[id]');

那么没有任何方法可以返回没有id的按钮吗?

1 个答案:

答案 0 :(得分:3)

在许多现代浏览器中,您可以使用:not

var buttonNodesList = document.querySelectorAll('button:not([id])');

如果您想要更广泛的浏览器支持,可以使用以下内容:

var buttonNodesList = [].slice.call(document.getElementsByTagName('button'),0)
  .filter( function(button) {
    return button.getAttribute('id') === null;
  });

只剩下shim for filter,这会留下一个数组而不是NodeList并支持大多数浏览器。