【发布时间】:2016-01-18 04:36:59
【问题描述】:
我正在尝试使用 javascript 来更改 ToysRUs 地址页面上选择框的值。该项目是一个自动填写地址表格的扩展。
项目ID是billingAddress.address.stateSelect
document.getElementById("billingAddress.address.stateSelect") // returns the element.
$("#billingAddress.address.stateSelect") // returns null.
我想使用$("#billingAddress.address.stateSelect").val("CA") 更改选择,但我不能,因为它为空。
页面正在使用 jQuery
(typeof jQuery != 'undefined') // is true
用反斜杠转义句点后我仍然得到 null。
s=document.getElementById("billingAddress.address.stateSelect").id;
console.log(s);
s= "#"+s.replace( /(:|\.|[|])/g, "\\$1" );
//also tried \\\\ backslashes and \\\ backslashes
console.log(s); //gives billingAddress\\.address\\.stateSelect
console.log($(s)); //is still null
【问题讨论】:
-
在 css 中,
#billingAddress.address.stateSelect会选择什么?一个id为billingAddress的元素,类名address和stateSelect,对吧? jquery 选择器是 css 选择器,因此必须转义某些特殊字符才能选择具有所述特殊字符的 id。 -
是
#billingAddress.address.stateSelect还是您的元素的id? -
就像@KevinB 建议的那样,选择器可能会将
.混淆为一个类:$("#billingAddress .addres .stateSelect"),而getElementById 不会这样做。 -
如上所述,避开你的经期。看到这个小提琴:jsfiddle.net/xpcxekuq/2
标签: jquery select triggers null