【问题标题】:document.querySelectorAll() of multiple values多个值的 document.querySelectorAll()
【发布时间】:2016-07-07 07:46:32
【问题描述】:

我有这个代码:

<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() 来获取所有包含警报和提示的&lt;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" 错误。

有什么帮助吗?

【问题讨论】:

  • 像以前一样单独选择它们并合并结果?
  • 是的,可以。但是,我可以在一个声明中做到这一点吗?希望there's有办法
  • 是的,有可能,请稍等。

标签: javascript html selectors-api


【解决方案1】:

您的选择器无效

  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>

【讨论】:

  • 请更正代码 sn-p 它现在不起作用:"SyntaxError: expected expression, got ')'",
  • @PranavCBalan 谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
相关资源
最近更新 更多