ID属性有括号吗?
问题描述:
我添加Greasemonkey的脚本来调剂一个网页,我的工作,但我遇到了问题。我期待添加默认值到表单字段所以每次我填写表格时,我没有添加相同的值。ID属性有括号吗?
当它们与括号括起来的形式对id
和name
属性看! 例如:
<input id="[[FormGen]]Contact" type="text"
value="" name="[[FormGen]]Contact">
</input>
现在,我没有进入任何服务器端代码,而我从源代码查看此。有一点需要注意的是,这种形式非常好。我很好奇这些括号可能做什么或意思,但这不是我的根本问题。
问题的根源是,当我去获取与jQuery值它不承认,我使用的ID。换句话说,这是行不通的:
("#[[FormGen]]Contact").val("test");
还要说明一点 - 形式具有约20总场。所有ID和名称属性值均以[[FormGen]]
开头。
答
你可以逃脱他们:
$('#\\[\\[FormGen\\]\\]Contact')
还是用这样的:
$(document.getElementById('[[FormGen]]Contact'))
答
如果他们都开始用[FormGen],这意味着你可以只用剩下的选择它们id属性:
$('input[id$="Contact"]')
+3
它可能会产生意想不到的结果http://jsfiddle.net/DerekL/2FmXF/ – 2013-04-21 00:02:05
答
如果您的标记有特殊字符的许多标识,可以考虑使用tihs soluti从 jQuery's FAQ。它按照jQuery的要求转义所有字符。
我喜欢的,他们有什么建议此nullsafe版本:
function jqid (id) {
return (!id) ? null : '#' + id.replace(/(:|\.|\[|\]|,)/g, '\\$1');
}
演示:http://jsfiddle.net/DerekL/qjAGp/ – 2013-04-20 23:48:30
它的工作原理!谢谢! – stephenthedev 2013-04-21 00:23:27