我目前正在使用Jquery来改变第三方产品并遇到这个特殊的限制......我想
目前复选框ID和Name值有一个;在其中见下文
<input id="K48_h6;547ECE8D417501D623E11F94E0DF94FD" name="K48_1" value="h6;547ECE8D417501D623E11F94E0DF94FD" type="checkbox" style="cursor: pointer;">
我试图强制Jquery检查此框。这是我现在拥有的Jquery。
$("#K48_h6;547ECE8D417501D623E11F94E0DF94FD").prop("checked",true);
这导致我有一个Object不支持这个属性或方法。
由于这是第三方产品,因此我无法使用; Jquery运行服务器端代码加载。
答案 0 :(得分:2)
除了转义,这是一个很好的解决方案,在将id
作为属性进行过滤时似乎不存在此限制,如下所示:
$("input[id='K48_h6;547ECE8D417501D623E11F94E0DF94FD']").prop("checked",true);
请参阅working demo
答案 1 :(得分:1)
使用带有document.getElementById()
的本机JS而不仅仅是jQuery。
http://jsfiddle.net/droppedonjapan/ppFSh/1/
如果需要将该元素包装在jQuery中,可以在使用getElementById()捕获元素后将其包装。
答案 2 :(得分:1)
您是否考虑过转义(请注意\\
之前的;
)无效字符:
jQuery(function() {
$('#K48_h6\\;547ECE8D417501D623E11F94E0DF94FD').prop('checked',true);
})
请注意,我不特别建议您尝试在id
中使用无效字符,我会认真并强烈建议您更改任何第三方产品'使用,对于能够生成有效 id
属性/属性的人。