我有这段代码:
<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>
现在,使用console.log(document.querySelectorAll("a[href^='javascript:prompt('],a[href^='javascript:alert(']"));
将获取所有此类元素的NodeList。
但是,我有不同大小写的javascript
给定的HTML文本。也就是说,看以下代码:
<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>
我参考了这里,但是使用*=
代替^=
并没有帮助。我知道^=
表示'以...开头',但是*=
是什么意思?
如何编写一个通用的querySelectorAll
,适用于所有这种javascript
排列的情况?
*=
表示包含文本,例如在 jQuery 文档中:http://api.jquery.com/attribute-contains-selector/ - mopedquerySelector*
方法使用 CSS 选择器进行匹配:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Attribute_selectors - Andreas