getElementsByTagName未保存(仅适用于chrome)

getElementsByTagName not saving (only works in chrome)

本文关键字:适用于 chrome 保存 getElementsByTagName      更新时间:2023-09-26

此代码在Chrome中有效,但在Firefox、IE和Safari中失败。具体的中断是当if语句出现时。我对它进行了调试,当它达到一个true语句时,它会忽略它,并且不会进入If语句。

function injectId()
{
    //take over their old stuff
    var imgElements = document.getElementsByTagName('img');
    for(var i = 0, len = imgElements.length; i < len; i++) {
        if (imgElements[i].src == "http://imageurl/imagename.png") {
            imgElements[i].id = tabs[0];
            break;
        }
    }
}

旁注:我在使用非chrome开发工具时遇到了一段时间的困难,因为它们重新映射了名称。例如,如果您在For循环的开头中断,并尝试添加"imgElements"进行监视,它将抛出一个"未定义引用"错误。相反,我必须找到映射变量(在本例中为t),还必须找到映射索引变量(e)才能找到源。

您的代码运行良好:http://jsfiddle.net/dpchq2h7/

我猜测问题是tabs[0],根据选项卡的不同,它可能会导致特定于浏览器的问题。