在使用 jQuery 和 jqxWidget jqxMenu的客户端中,有时(大约3次中的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来放置它们似乎有点矫枉过正)?
答案 0 :(得分:1)
document.write
阻止jQuery代码的执行,因为jQuery作用于DOM中已有的元素,而使用document.write时,这些元素不存在。所以jQuery实际上无法找到你的DOM元素。