我有一个输入元素定义如下:
<input type="checkbox" name="custom_15[1]" id="custom_15[1]" value="1" />
当我尝试使用$("#custom_15[1]")
选择器时,它无效。鉴于document.getElementById("custom_15[1]")
确实有效。
我在这里做错了什么?
谢谢!
答案 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")
希望这有帮助。