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 ] [值],而不是手动** /

alert($(id).val());

您的建议将会有所帮助!


以下应该工作:

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

要么

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

工作示例

转换功能:

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

转换示例


如果你感觉更舒适而不逃避,你也可以使用属性选择器并使用这个id来搜索元素,如下所示: $("[id='meta[152][value]']")


最简单的方法就是使用常规的getElementById,它不需要转义:

document.getElementById("meta[152][value]").value;
链接地址: http://www.djcxy.com/p/87987.html

上一篇: jquery escape square brackets to select element

下一篇: What is the difference between properties and attributes in HTML?