首先,有没有办法在JQuery的$(document).ready()
方法中使用document.write()
?如果有,请给我提示,因为这将解决我的问题。
否则,我有别人的代码,我应该用我的代码来工作。问题是我不能以任何方式修改他的代码。不起作用的部分看起来像这样:
document.write('<script src=\"http://myurl.com/page.aspx?id=1\"></script>');
script标记引用了一个aspx页面,该页面执行了一系列测试,然后输出如下内容:
document.write('<img src=\"/image/1.jpg\" alt=\"Second image for id 1\">')
这些脚本只是实际发生的事情的示例。这里的问题是,我在初始脚本中有一个document.write()
,在第一个脚本中有一个document.write()
,我必须以某种方式在JQuery的$(document).ready()
函数中实现这一点,而不需要更改他的代码。
我不知道该怎么办。帮助?
发布于 2009-04-17 17:06:17
picardo有我会用到的方法。要扩展这个概念,请阅读以下内容:
$('<script/>')
.attr('src', 'http://myurl.com/page.aspx?id=1')
.appendTo('body');
备用样式:
var imgnode = $('<img alt="Second image for id 1"/>')
.attr('src', "image1.jpg");
$('#id1').append(imgnode);
请确保使用attr
方法来设置任何动态属性。不需要以这种方式转义特殊符号。
此外,我不确定动态生成脚本标记的有效性;我从未尝试过它。不过,它们应该包含或引用客户端脚本。我的假设是page.aspx
将返回什么。你的问题有点含糊,你试图在那里做什么。
发布于 2009-04-17 16:38:38
jQuery已经有了document.write的现成替代品。您需要使用的只是append方法。
jQuery('<img src=""/>').appendTo('body');
这是不言而喻的。但简单地说,您可以将替换为您想要的任何html。appendTo方法中的标记名是要附加html的标记名。就这样。
发布于 2009-04-17 16:42:34
picardo的答案是有效的,但这对我来说更直观:
$("body").append('<img src=\"/image/1.jpg\" alt=\"Second image for id 1\">');
此外,对于使用document.write()插入的脚本部分,请查看jQuery's getScript() function
https://stackoverflow.com/questions/761148
复制相似问题