我有这个代码:
<a href="javascript:alert('something1')">Click</a>
<a href="javascript:prompt('something2')">Click</a>
<a href="javascript:alert('something3')">Click</a>
<a href="javascript:prompt('something4')">Click</a>
要获取单个集合元素,我使用 document.querySelectorAll("a[href^='javascript:alert(");
和 document.querySelectorAll("a[href^='javascript:prompt");
.
现在,如何使用通用的 document.querySelectorAll()
得到所有这些<a href
包含alert、prompt的元素?
我试过这个:
document.querySelectorAll("a[href^='javascript:prompt(,a[href^='javascript:alert(");
document.querySelectorAll("a[href^='javascript:prompt(","a[href^='javascript:alert(");
还有很多。但它不起作用,得到"DOMException - not a valid selector"
错误。
有什么帮助吗?
最佳答案
您的选择器无效
- 缺少属性值的右引号 (
'
)。 - 缺少属性选择器
] 的结尾
。 - 也使用
querySelectorAll
获取 NodeList,querySelector
只返回单个元素。
console.log(
document.querySelectorAll("a[href^='javascript:prompt('],a[href^='javascript:alert(']")
//----------------------------------------------------^^---------------------------^^^
);
<a href="javascript:alert('something1')">Click</a>
<a href="javascript:prompt('something2')">Click</a>
<a href="javascript:alert('something3')">Click</a>
<a href="javascript:prompt('something4')">Click</a>
关于javascript - 多值的 document.querySelectorAll(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38240100/