document.write()如何影响jQuery的功能

How does document.write() influence the functionality of jQuery?

本文关键字:jQuery 功能 影响 何影响 write document      更新时间:2023-09-26

在使用jQueryjqxWidgetjqxMenu的客户端中,有时(大约10次中的3次)仅在一个特定页面上失败,以便用适当的CSS样式"丰富"该页面(以使其成为jqxMenu)。

jqxMenu包含的代码片段在客户端的每个其他页面上工作。与工作页面的唯一区别是,失败页面还包括来自另一台服务器的Javascript,以动态显示选项。

远程包含的代码看起来像:

document.write('<table cellspacing="2" cellspacing="2" border="0" align="center">');
document.write('<tr>');
document.write('<td><a href="http://www.someurl.com" target="_blank"><img src="https://someimage.com/jsp/icons/someimage.gif" border="0" 
...
document.write('</tr>');
document.write('</table>');

当我在代码中静态嵌入生成的表时,不会出现问题。

修复问题的静态变体:

<table cellspacing="2" cellspacing="2" border="0" align="center">
<tr>
<td><a href="http://www.someurl.com" target="_blank"><img src="https://someimage.com/jsp/icons/someimage.gif" border="0" 
...
</tr>
</table>

问题是:将document.write()jQuery和/或jqWidgets结合使用是否存在问题?

有什么解决办法(考虑包装器,因为解析和使用jQuery放置它们似乎有些过头了)?

document.write阻止jQuery代码的执行,因为jQuery作用于DOM中已经存在的元素,而使用document.write时,这些元素不存在。所以jQuery实际上无法找到您的DOM元素。