使用document.write附加jQuery库:IE被冻结了吗?

时间:2011-12-05 16:22:39

标签: jquery html popup

  

可能重复:
  Why split the <script> tag when writing it with document.write()?

我的页面上有this个代码:

var print_popup = window.open("", "Booking", "width=950,height=680, scrollbars=1");

print_popup.document.write("<html xmlns='http://www.w3.org/1999/xhtml'>");

print_popup.document.write("<head>");
print_popup.document.write("<script src=\"http://code.jquery.com/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>");
print_popup.document.write("</head>");

print_popup.document.write("<body>");
print_popup.document.write("<div class='element'>Hello</div>");
print_popup.document.write("<div class='element2'>Marco</div>");
print_popup.document.write("<script type='text/javascript'>$('.element').hide();</script>");
print_popup.document.write("</body>");
print_popup.document.write("</html>");

print_popup.document.close();

因此,当我打开弹出窗口时,我插入了jquery库。比,我想隐藏element。 在Firefox / Chrome上没有问题;在IE(8)上,浏览器打开一个空白的弹出窗口,窗口被冻结(我需要强行关闭浏览器)。

我知道我应该用CSS隐藏元素,但对于其他操作我需要jQuery。

为什么这样?我该如何解决?

修改

尝试用<替换\x3,但问题仍然存在。它似乎崩溃只附加了jQuery库...

1 个答案:

答案 0 :(得分:0)

尝试将$('.element').hide();包裹到$(function(){$('.element').hide();});