簡體   English   中英

Opera上的JS函數問題

[英]Problem with JS function on Opera

function getLast(tagNm) {
    /* This function search the last element
     * that use this tagName */
    var cont = 0;

    $.each(window.wdgList, function (index, value) {
        if (value != undefined) {
            if ($("#" + value).get(0).tagName == tagNm) {
                cont += 1;
            }
        }    
    });

    return cont;
}

在所有瀏覽器(包括IE)中,此功能都可以完美運行,但在Opera中則不能,這可能是錯誤的。

順便說一句,錯誤說明:

錯誤是這樣的:未捕獲異常:TypeError:無法將'document.getElementById(value)'轉換為對象

使用提供的信息很難說,但是如果由於某種原因Opera無法找到您的元素之一,那么.get(0)將是undefined ,並且您將嘗試訪問undefinedtagName屬性,這將導致一個TypeError

您應該檢查是否首先找到了一個元素。

$.each(window.wdgList, function (index, value) {
    if (value != undefined) {
        var el = $("#" + value).get(0);
        if ( el && el.tagName == tagNm ) {
            cont += 1;
        }
    }    
});

這樣可以確保在執行element.tagName之前存在一個元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM