0

在使用jQueryjqxWidget的客户端中, jqxMenu 有时(大约 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 来放置它们似乎是矫枉过正)?

4

1 回答 1

1

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

于 2013-09-04T11:48:53.600 回答