javascript - jquery 转义方括号以选择元素

标签 javascript jquery regex jquery-selectors escaping

考虑一个输入元素

<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());

您的建议会很有帮助!

最佳答案

以下应该有效:

alert($('#meta\[152\]\[value\]').val());

var id = "#meta\[152\]\[value\]";
alert($(id).val());

Working Example

转换函数:

function ConvertValue(id)
{
    var test = id.replace(/[[]/g,'\\\\[');
    return "#" + test.replace(/]/g,'\\\\]'); 
}

Conversion Example

关于javascript - jquery 转义方括号以选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404037/

相关文章:

javascript - 定义时的 D3 样式 SVG 元素

javascript - jQuery 表单验证无法正常工作

javascript - 自动完成 jQuery 插件 : Value of selected array index

javascript - JQuery UI 菜单防止子菜单项崩溃?

javascript - Google map 自动完成表单自定义

ruby - 包含字符串的第一行(仅)的正则表达式

javascript - 单击离开页面时加载图像

javascript - 在谷歌图表仪表板中向下钻取

regex - 如何捕获重复捕获组中每个组的组号

python - re 识别字符串的范围