我正在尝试使用javascript更改ToysRUs地址页面上的选择框的值。该项目是一个自动填写地址表单的扩展。
商品ID为billingAddress.address.stateSelect
document.getElementById("billingAddress.address.stateSelect") // returns the element.
$("#billingAddress.address.stateSelect") // returns null.
我想使用$("#billingAddress.address.stateSelect").val("CA")
来更改选择,但我不能,因为它是null。
页面正在使用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
答案 0 :(得分:-1)
您没有发布完整代码。只有我能想到的是 1:你的代码在选择加载之前运行,这种情况使用$(function(){你的代码在这里}}; 2:你不能在名字中使用点,因为浏览器认为它想告诉它点是意义类而不是名称的一部分。
答案 1 :(得分:-1)
除非jQuery被别名为$,否则$ notation必然会起作用。尝试使用:
jQuery("#billingAddress.address.stateSelect");
而不是$符号。
编辑:
我没有仔细阅读这个问题。您正在使用的选择器是一个ID,它也有两个类名,即"地址"和" stateSelect"。我提到的可能仍然是一个问题,但您需要确保首先使用正确的选择器。