1

我目前正在使用 Jquery 来更改第 3 方产品并遇到了这个特殊的限制......我认为

目前,复选框 ID 和名称值具有 ; 在里面见下文

<input id="K48_h6;547ECE8D417501D623E11F94E0DF94FD" name="K48_1" value="h6;547ECE8D417501D623E11F94E0DF94FD" type="checkbox" style="cursor: pointer;">

我试图强制 Jquery 选中此框。这是我现在拥有的 Jquery。

$("#K48_h6;547ECE8D417501D623E11F94E0DF94FD").prop("checked",true);

这导致我有一个对象不支持此属性或方法。

由于这是第 3 方产品,因此我无法使用 ;,Jquery 在服务器端代码加载后运行。

4

3 回答 3

2

id除了转义,这是一个很好的解决方案,在作为属性过滤时似乎不存在此限制,如下所示:

$("input[id='K48_h6;547ECE8D417501D623E11F94E0DF94FD']").prop("checked",true);

查看工作演示

于 2013-04-24T21:56:00.047 回答
1

使用原生 JSdocument.getElementById()而不仅仅是 jQuery。

http://jsfiddle.net/droppedonjapan/ppFSh/1/

编辑

如果您需要将该元素包装在 jQuery 中,您可以在使用 getElementById() 捕获元素后包装它。

于 2013-04-24T21:51:05.067 回答
1

您是否考虑过转义(注意\\前面的;)无效字符:

jQuery(function() {
    $('#K48_h6\\;547ECE8D417501D623E11F94E0DF94FD').prop('checked',true);
})

JS 小提琴演示

请注意,我不特别建议尝试解决在您id的 s 中使用无效字符的问题,我会认真且非常强烈地建议您更改您正在使用的任何 3rd 方产品,以便能够生成有效 id属性/属性的产品。

于 2013-04-24T21:53:08.093 回答