4

如何选择 div?

<div id="languageForm:j_id427:0:j_id432">Test</div>

此代码不起作用

#languageForm:j_id427:0:j_id432 { color:#00aa00; }

. . . . . . . . . . . . . . . . . . .

4

2 回答 2

7

:是 CSS 中的特殊字符 ( :hover)

用来\00003A逃避它:

#languageForm\00003Aj_id427\00003A0\00003Aj_id432 { color:#00aa00; }

jsfiddle

注意:不要使用\:,因为它在 IE7 中不起作用

为什么很多0s?因为浏览器会尝试读取最多 6 个字符来解析 CSS 文件中的 unicode 常量。如果没有零,它将读取\3Aj并停止并出现错误。

于 2013-07-16T08:55:07.157 回答
2

您的选择器包含:,因此您需要使用反斜杠对其进行转义\,使用它

#languageForm\:j_id427\:0\:j_id432 { 
     color:#00aa00; 
}

演示

注意:可能是旧的浏览器在转义时会失败,在这种情况下,您可以使用 \3a ,它与冒号等效。

#languageForm\3a j_id427\3a 0\3a j_id432 { 
    color:#00aa00; 
}

Demo(注意后面的空格\3a

(如果您使用 ( ) 解决方案,请考虑参考aarons 答案)\3A

于 2013-07-16T08:49:04.470 回答