如何正确地逸出属性值在CSS / JS属性选择器[ATTR =值]?(How to properly

2019-07-17 11:41发布

我应该如何逃生的CSS / JS attibute选择属性[attr=value]

具体而言,这是正确的?

document.querySelector('input[name="test[33]"]')

我在找如果有这样的“标准方式”,因为我不使用从重到执行回退功能要灒

Answer 1:

是的,这是一个正确的做法。 该选择器3级规范规定如下:

属性值必须是CSS标识符或字符串。

在你的问题的例子使用的字符串作为属性值。 “标识符”被定义为如下:

在CSS中,标识符...只能包含字符[A-ZA-Z0-9]和ISO 10646个字符U + 00A0和更高的,再加上连字符( - )和下划线(_); 他们不能以数字,两个连字符,或一个连字符后面跟着一个数字开始。 标识符也可以包含转义字符和任何ISO 10646字符作为一个数字代码...

所以紧接着,这也是合法的逃避特殊字符和省略报价:

document.querySelector('input[name=test\\[33\\]]')


文章来源: How to properly escape attribute values in css/js attribute selector [attr=value]?