在我的项目中,有一个库生成元素的情况,我需要从那里选择特定的元素--这些元素碰巧包含一个带有“:”的属性。
换句话说,我最终尝试选择使用:document.querySelectorAll("[xml:space]")
.
但是,当在Chrome中测试时,它没有工作,也没有选择使用document.querySelectorAll("['xml:space']")
-他们都抛出了DOMException
:
http://i.imgur.com/GrjpL85.png
我的问题是,如何使上面的选择器返回具有xml:space
属性的元素列表?
谢谢!
4条答案
按热度按时间xqkwcwgp1#
你得从结肠里逃脱
我用https://mothereff.in/css-escapes得到上面的代码:)
lymgl2op2#
通过在
:
前面加上双反斜杠\\
来转义它看这个:
https://bugzilla.mozilla.org/show_bug.cgi?id=883044
ttcibm8c3#
也可以做
qltillow4#
比仅针对冒号更强大的解决方案是使用
CSS.escape()
请注意,我们将方括号保留在
CSS.escape()
之外,因为它们不是属性名称的一部分,并且我们希望它们在此选择器中保持其语义含义。