javascript - 多值的 document.querySelectorAll()

标签 javascript html selectors-api

我有这个代码:

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

有什么帮助吗?

最佳答案

您的选择器无效

  1. 缺少属性值的右引号 (')。
  2. 缺少属性选择器 ] 的结尾
  3. 也使用 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/

相关文章:

javascript - 宿主元素的条件样式

javascript - 如何使 jQuery 函数在克隆的元素上执行?

javascript - 监听元素禁用事件

javascript - 基于谷歌地理编码器中未知地址的建议

javascript - jQuery 验证 : Uncaught TypeError: $(. ..) ."valid is not a function"具有有效的引用/顺序

html - Angular Material Flexbox

javascript - 构建 DOM 中任何给定节点的 querySelector 字符串值

css - 如何正确地将完整的 css3 选择器写入 querySelectorAll

javascript - 如果值为 null,则 javascript 中的 JSTL 会中断