附加到IE中的正文问题

时间:2012-03-30 20:00:24

标签: javascript jquery html internet-explorer

我在向IE 9中的body标签添加div时出现问题。这适用于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'

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

怎么样

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

答案 1 :(得分:1)

尝试使用$('body')代替$(document.body).append('<div

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

答案 2 :(得分:0)

我认为你在脚本中使用了getElementsByTagName somwhere

请参阅此ref:https://developer.mozilla.org/en/DOM/element.getElementsByTagName

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