1

私は現在、サードパーティ製品を変更するために Jquery を使用しており、この特定の制限に遭遇しました...私は思う

現在、チェックボックス 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);

これにより、オブジェクトがこのプロパティまたはメソッドをサポートしていません。

これはサードパーティの製品なので、私にできることは何もありません。

4

3 に答える 3

2

id優れた解決策であるエスケープの代わりに、次のように属性としてフィルタリングする場合、この制限は存在しないようです。

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

実際のデモを見る

于 2013-04-24T21:56:00.047 に答える
1

無効な文字をエスケープすることだけを検討しましたか(の\\前に注意してください):;

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

JS フィドルのデモ

で無効な文字の使用を回避しようとすることは特にお勧めしません。使用しているサードパーティ製品を、有効なプロパティ/属性を生成できるものに変更するidことを真剣かつ強くお勧めします。 id

于 2013-04-24T21:53:08.093 に答える