2013-06-25 41 views
-3

所以我剛升級我的jQuery版本到http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js 之後,我相信我開始得到這些錯誤。有誰知道這個jquery函數是否與新的更改有點過時,或者爲什麼現在要拋出它?在我的頁面上從jquery函數獲取空引用

function CheckBrochuresSelected(checkBox) { 
    var dataList = checkBox.parentNode.parentNode.parentNode.parentNode; 
    var deliveryOption = $('.consumerbrochurerequest' > [id$ = '_rblDeliveryOption'])[0]; 
    var broxList = dataList.getElementsByTagName('input'); 
    var optionList = deliveryOption.getElementsByTagName('input'); 
**Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined 
Uncaught TypeError: Cannot call method 'getElementsByTagName' of undefined** 
    var broxLabels = dataList.getElementsByTagName('label'); 
    var travelPlannerIsChecked = false; 
    var broxLabel = ""; 
    var eBrox = null; 
+1

這是不正確的,無論是什麼版本:'$('。consumerbrochurerequest'> [id $ ='_rblDeliveryOption'])[0];'。 –

+0

如果你有jQuery,你爲什麼使用.'parentNode'和'.getElementsByTagName'? –

+0

對不起,應該補充說,我真的只是jquery的版本,這個代碼已經存在,並以某種方式與C#頁面工作。 – user1566783

回答

3
$('.consumerbrochurerequest' > [id$ = '_rblDeliveryOption']) 

應該是一個字符串:

$(".consumerbrochurerequest > [id$='_rblDeliveryOption']") 

正如你現在擁有它,它的計算結果爲布爾值(false),並沒有錯誤,因爲這是一個有效的數組,因此一有效的表達。但$(false)評估爲[](一個空數組),並且您嘗試訪問第一個元素。

+0

因此,把它放入一個字符串值會給我實際值或一個「真正的」布爾回或實際的數組值? – user1566783

+0

您的選擇器正在說:獲取所有具有以'_rblDeliveryOption'結尾的屬性「id」的元素,它們是具有'consumerbrochurerequest'類的元素的直接後代。它會返回這些元素(如果有的話)。之後通過使用'[0]',它將選擇該集合中的第一個元素。 –

+0

你是說要做 var deliveryOption = $(「。consumerbrochurerequest> [id $ ='_rblDeliveryOption']」)[0]; 或 var deliveryOption = $(「。consumerbrochurerequest> [id $ ='_rblDeliveryOption']」); ?? 如果這是第一次在做報價時破碎了。 – user1566783

相關問題