我的HTML中有多个按钮,我只想选择那些没有和id属性的按钮。
要选择所有按钮,我使用此脚本返回所有按钮:
var buttonNodesList = document.querySelectorAll('button');
我用Google搜索了一下,我发现要获取所有具有id的按钮,我就要使用这样的脚本:
var buttonNodesList = document.querySelectorAll('button[id]');
那么没有任何方法可以返回没有id的按钮吗?
答案 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并支持大多数浏览器。