我正在添加一个Greasemonkey脚本来为我工作的页面增添趣味,但我遇到了问题。我想在表单字段中添加默认值,所以每次填写表单时我都不必添加相同的值。
查看表单上的id
和name
属性时,它们被括号括起来!
例如:
<input id="[[FormGen]]Contact" type="text"
value="" name="[[FormGen]]Contact">
</input>
现在,我无法访问任何服务器端代码,我正在从源代码中查看它。需要注意的一点是,这种形式完美无缺。我很好奇这些括号可能做什么或意味着什么,但这不是我的根本问题。
根本问题是,当我使用jQuery获取值时,它无法识别我使用的id。换句话说,这不起作用:
("#[[FormGen]]Contact").val("test");
还有一点需要注意 - 表格总共有20个字段。所有ID和Name属性值均以[[FormGen]]
开头。
答案 0 :(得分:2)
你可以逃脱它们:
$('#\\[\\[FormGen\\]\\]Contact')
或者使用这样的东西:
$(document.getElementById('[[FormGen]]Contact'))
答案 1 :(得分:0)
如果它们都以[[FormGen]]开头,那意味着您可以通过id属性的其余部分选择它们:
$('input[id$="Contact"]')
答案 2 :(得分:0)
如果您的标记包含许多带有特殊字符的ID,请考虑使用此解决方案 jQuery's FAQ。它会逃脱jQuery所需的所有字符。
我喜欢他们建议的nullsafe版本:
function jqid (id) {
return (!id) ? null : '#' + id.replace(/(:|\.|\[|\]|,)/g, '\\$1');
}