我有一个选择菜单,它的选项ID是这样的:
<select>
<option id='order1|2'>1</option>
<option id='order2|2'>2</option>
<option id='order3|2'>3</option>
</select>
我想用jQuery动态选择一个。在javascript中,我可以做到
document.getElementById("order2|2").selected=true;
并且工作正常。但是,使用jQuery
$("#order2|2").attr("selected","selected");
给出了错误的表达式错误,当我使用它时,任何其他命令也是如此,例如
$("#order2|2").val();
我不确定发生了什么。 jQuery不喜欢管道符号?感谢。
答案 0 :(得分:9)
使用此选择器:
$("#order2\\|2")
来自jQuery选择器文档:
使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\\。
参考:
答案 1 :(得分:2)
答案 2 :(得分:0)