【问题标题】:jQuery Modal not showing <script> tags with AJAX page requestjQuery Modal 不显示带有 AJAX 页面请求的 <script> 标记
【发布时间】:2009-09-02 12:43:19
【问题描述】:
我使用一个名为 nyroModal 的插件通过 AJAX 调用页面并将其显示在模态窗口中。当 AJAX 获取页面时,它会在当前页面上创建一个 div,然后 nyroModal 为您设置样式并创建模态页面。问题是,它似乎从请求的页面中剥离了所有标签。使用萤火虫我可以在 AJAX 请求的返回中看到标签,但它们不会显示在页面上。这只是加载页面后无法向 DOM 添加标签的限制,还是我正在使用的 nyroModal 插件有问题?
谢谢!
【问题讨论】:
标签:
javascript
jquery
ajax
nyromodal
【解决方案1】:
jQuery 不会将脚本直接包含在 dom 中,但它会在文档的标题中为您创建一个新的脚本标签。如果您单击 firebug 中的脚本菜单,您应该会在下拉菜单中看到全局 eval 脚本。
【解决方案3】:
问题是我需要将我的脚本放在它指向的 DOM 元素之后,否则当脚本运行时,它指向的 DOM 元素还不“存在”。通常,$(document).ready 可以解决这个问题,但由于文档已经“就绪”,它会在元素存在之前执行脚本。
示例:
这行不通。
<script type="text/javascript>
$('#test').val('Yes');
</script>
<input type="text" value="" id="test">
这会的。
<input type="text" value="" id="test">
<script type="text/javascript>
$('#test').val('Yes');
</script>
希望这对某人有所帮助。