我可以选择带有id的组件,其中包含[]符号吗?
例如:
<div id=divtables[COURSE_SUBJECTS][141][TITLE]>gg</div>
TNX。
答案 0 :(得分:2)
根据W3C,这不是有效的ID:
命名规则:
必须以字母A-Z或a-z
开头可以跟着:字母(A-Za-z), 数字(0-9),连字符(“ - ”), 下划线(“_”),冒号(“:”)和 句号(“。”)
值区分大小写
这基本上说你不应该在id中有[]
。我强烈建议你遵循标准。
答案 1 :(得分:2)
根据w3c standards,您不能在HTML中使用[]作为ID属性。 这意味着您只能将以下字符用于ID属性。
Letters ([A-Za-z])
digits ([0-9])
hyphens ("-")
underscores ("_")
colons (":")
periods (".").
答案 2 :(得分:1)
[]符号不是有效的ID字符。如果你想尝试一下,请使用双反斜杠:
$("#divtables\\[COURSE_SUBJECTS\\]")
答案 3 :(得分:0)
你只需要逃避它们,就像这样:
$("#divtables\\[COURSE_SUBJECTS\\]\\[141\\]\\[TITLE\\]")
There's a full FAQ/how-to on the escaping topic here,这适用于任何选择器类型,但您应该可以使用不同的ID值(主要不会导致无效的HTML)。我知道情况并非总是这样,例如由另一个系统生成的内容,上面的解决方案为此工作,但这不是最佳解决方案,更换任何无效字符最好,我建议:
<div id="divtables-COURSE_SUBJECTS-141-TITLE">gg</div>
然后你的选择器不需要任何技巧,它只是:
$("#divtables-COURSE_SUBJECTS-141-TITLE")