jquery $ notation为document元素返回null

时间:2015-10-19 18:07:15

标签: jquery select triggers null

我正在尝试使用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

2 个答案:

答案 0 :(得分:-1)

您没有发布完整代码。只有我能想到的是 1:你的代码在选择加载之前运行,这种情况使用$(function(){你的代码在这里}}; 2:你不能在名字中使用点,因为浏览器认为它想告诉它点是意义类而不是名称的一部分。

答案 1 :(得分:-1)

除非jQuery被别名为$,否则$ notation必然会起作用。尝试使用:

jQuery("#billingAddress.address.stateSelect"); 

而不是$符号。

编辑:

我没有仔细阅读这个问题。您正在使用的选择器是一个ID,它也有两个类名,即"地址"和" stateSelect"。我提到的可能仍然是一个问题,但您需要确保首先使用正确的选择器。