Javascript数组ID

Jul*_*rte 1 html javascript forms jquery

我有一个HTML页面,其中包含我需要使用JQuery访问的元素.以下是如何识别表单元素的示例:

<div id="nItemID[766]Line" class="formLine ">
   <span id="nItemID[766]Label" class="formLabel alignTop">Téléphone:</span>
   <input id="nItemID[766]Field" class="formField" type="text" maxlength="11" value="" name="nItemID[766]" style="width: 300;">
</div>
Run Code Online (Sandbox Code Playgroud)

当我尝试显示特定元素的ID时,它会告诉我:nItemID [766] Label,例如.但是,当我输入该代码时,它找不到任何东西......

alert( $("#nItemID[766]Field").val() );
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我获取这些特定元素的方式吗?

谢谢!

Poi*_*nty 5

你必须用反斜杠转义方括号:

alert($('#nItemID\\[766\\]Field').val());
Run Code Online (Sandbox Code Playgroud)

拥有像这样的"id"值有点疑问,但我一直处在难以避免的情况下.

编辑 - 请注意,字符串中需要两个反斜杠,以便jQuery选择器解释器可以"看到"它们; 也就是说,你需要在字符串中留下一个反斜杠,而在JavaScript中这样做的方法是将我讨厌解释的反斜杠加倍.

再次编辑 - 这是HTML 5草案关于"id"属性的说法:

3.2.3.1 id属性

id属性指定其元素的唯一标识符(ID).[DOMCORE]

该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符.该值不得包含任何空格字符.

元素的唯一标识符可用于各种目的,最明显的是作为使用片段标识符链接到文档的特定部分的方式,作为在编写脚本时定位元素的方式,以及作为对特定元素进行样式设置的方式CSS.

标识符是不透明的字符串.不应从id属性的值派生特定含义.

没有关于"id"属性值的规则,换句话说,除了它们不能包含空格之外.