document.querySelectorAll() 多个值

document.querySelectorAll() of multiple values

我有这个代码:

<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 元素?

我试过这个:

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" 错误。

有什么帮助吗?

您的选择器无效

  1. 缺少属性值的右引号 (')。
  2. 缺少属性选择器的结尾 ]
  3. 也仅使用 querySelectorAll to get NodeList, querySelector return 单个元素 .

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>