jQuery - 当id是数组类型表示法时,ID选择器需要帮助

时间:2010-11-23 09:18:44

标签: javascript jquery jquery-selectors

我有一个输入元素定义如下:

<input type="checkbox" name="custom_15[1]" id="custom_15[1]" value="1" />

当我尝试使用$("#custom_15[1]")选择器时,它无效。鉴于document.getElementById("custom_15[1]")确实有效。

我在这里做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:9)

首先,id属性不应包含方括号。它只是无效。它可以包含字母,数字,下划线,连字符,冒号和点。

在这个问题的答案中,有一个提示,即jquery甚至有点和冒号的问题:

What are valid values for the id attribute in HTML?

因此,请尝试切换到有效的ID。如果你不能,请使用正确的转义:

$("#custom_15\\[1\\]")

答案 1 :(得分:2)

是的,你不能有方括号。

“name”和“id”字段是否必须具有相同的名称?

更糟糕的是,你总是可以为你的输入添加一个独特的类,并通过它在JS中找到它。即

<input type="checkbox" name="custom_15[1]" class="test" id="custom_15[1]" value="1" />

然后在你的JS中使用这个

$(".test")

希望这有帮助。