jquery转义方括号来选择元素
考虑一个输入元素
<input id="meta[152][value]" type="text" />
这里的输入字段是动态生成的。我需要选择该字段。所以我用了,
alert($('#meta[152][value]').val());
但这似乎无效。搜索后我发现,“方括号”需要像 #meta\\[152\\]\\[value\\]
一样转义,
那么该怎么做呢? 我目前使用此代码,
var id = "#meta[152][value]" // (I get this value by another method) I need the escaping to be done here. So that i can use as
/** 我需要使用正则表达式、替换或任何其他方法转义 id 的值 获取#meta\[152\]\[value\] 而不是手动 **/
alert($(id).val());
您的建议将会很有帮助!
Consider a input element
<input id="meta[152][value]" type="text" />
Here the input field is dynamically generated. I need to select that field. So I used,
alert($('#meta[152][value]').val());
But this seems to be invalid. After searching I found, that the "square brackets" need to be escaped like #meta\\[152\\]\\[value\\]
So how to do that ?
I currently use this code,
var id = "#meta[152][value]" // (I get this value by another method) I need the escaping to be done here. So that i can use as
/** I need the value of id to be escaped using regex,replace or any other method
to get #meta\[152\]\[value\]
and not manually **/
alert($(id).val());
Your suggestions will be helpful !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
以下内容应该有效:
或
工作示例
转换函数:
转换示例
The following should work:
or
Working Example
Conversion Function:
Conversion Example
如果您觉得不转义更舒服,您还可以使用属性选择器并搜索具有该 id 的元素,如下所示:
$("[id='meta[152][value]']")
If you feel more comfortable without escaping you also use the attributes selector and search for the element with that id like this:
$("[id='meta[152][value]']")
最简单的方法就是使用常规的 getElementById,不需要转义:
The simplest way is just to use the regular getElementById, which requires no escaping:
这应该对你有用,你几乎已经拥有它了:
this shoudl work for you, you almost had it:
嗯,只需将转义值放在字符串中即可。
在这里查看它的工作情况
Um, just put the escaped value right in your string.
See it working here
您可以使用 Lodash 中的
_.escapeRegExp
方法图书馆。You can use the
_.escapeRegExp
method from the Lodash library.