jQuery - 当 id 是数组类型表示法时,ID 选择器需要帮助
我有一个输入元素定义如下:
<input type="checkbox" name="custom_15[1]" id="custom_15[1]" value="1" />
当我尝试使用 $("#custom_15[1]")
选择器时,它不起作用。而 document.getElementById("custom_15[1]")
确实有效。
我在这里做错了什么?
谢谢你!
I have an input element defined as follows:
<input type="checkbox" name="custom_15[1]" id="custom_15[1]" value="1" />
When I tried with $("#custom_15[1]")
selector, it didn't work. Whereas, document.getElementById("custom_15[1]")
did work.
What am I doing wrong here?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,id 属性不应包含方括号。这只是无效的。它可以包含字母、数字、下划线、连字符、冒号和点。
在这个问题的答案中,有一个提示,jquery 甚至有点和冒号的问题:
HTML 中 id 属性的有效值是什么?
因此,请尝试切换到有效的 id。如果不能,请使用正确的转义:
First off, an id attribute should not contain square brackets. It's just not valid. It can contain letters, numbers, underscores, hyphens, colons and dots.
In the answer to this question there's a hint that jquery even has problems with dots and colons:
What are valid values for the id attribute in HTML?
So try to switch to valid ids. If you can't, use proper escaping:
确实,不能有方括号。
“name”和“id”字段必须具有相同的名称吗?
更糟糕的是,你总是可以在你的输入中添加一个独特的类,并通过它在 JS 中找到它。 ie
然后在你的 JS 中使用这个
希望这有帮助。
True, you can't have square brackets.
Do you have to have the same name for the "name" and "id" fields?
Worse has to come you can always add a unique class to your input and find it in JS through that. ie
And then in your JS use this
Hope this helps.