附加到IE中的正文问题

Append to Body Issues in IE

本文关键字:正文 问题 IE      更新时间:2023-09-26

在IE 9及以下版本中,我在将div附加到body标记时遇到问题。这适用于Firefox和Chrome。

var currenturl = "the url I am loading";
$(document.body).append('<div id="overlaytransparency"></div><div id="overlaymessage"> <iframe id="overlayframe" src=' + currentUrl + ' scrolling="no" frameborder="0"></iframe></div>');
// ^ This is the line that is erorring
$("#overlaytransparency").show();
$("#overlaymessage").show();
$("#overlaytransparency").click(function () {
    $("#overlaytransparency").hide();
    $("#overlaymessage").hide();
});
    $("#overlayframe").load(currentPath);

我在IE:中收到此错误

SCRIPT438:对象不支持属性或方法"getElementsByTagName"

提前感谢您的帮助。

怎么样

$(document).ready(function() {
    $("body").append();
});

尝试使用$('body')而不是$(document.body).append('<div

$('body').append('<div ...

我认为您在脚本中使用getElementsByTagName

参见参考文献:https://developer.mozilla.org/en/DOM/element.getElementsByTagName

注意:虽然W3C规范规定元素是NodeList,但此方法在Gecko和InternetExplorer中都返回HTMLCollection。Opera返回一个NodeList,但实现了一个namedItem方法,这使它类似于HTMLCollection。截至2012年1月,只有在WebKit浏览器中,返回的值是纯NodeList。