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
,并且您将尝试访问 undefined
上的 tagName
属性,这将导致 TypeError
。
您也许应该首先检查是否找到了一个元素。
$.each(window.wdgList, function (index, value) {
if (value != undefined) {
var el = $("#" + value).get(0);
if ( el && el.tagName == tagNm ) {
cont += 1;
}
}
});
这可以确保在执行element.tagName
之前有一个元素。
关于javascript - Opera 上的 JS 函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634309/