我应该在这里得到3张图片,但是我得到2.最后一张失败了:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function() {
var img = $('<img src="icon.next.gif" url="/" />');
$("body").append(img);
img = $('<img />', { src: "icon.next.gif", url: "/" });
$("body").append(img);
var img = $('<img src="icon.next.gif" />', { url: "/" });
$("body").append(img);
});
</script>
</head>
<body>
</body>
</html>
我可以发誓我之前已将它们混合在一起,但现在似乎第二个参数替换了所有标签。我真的需要它添加,因为我已经生成了一个字符串(它带有内联属性),我需要添加它。
对于任何想玩它的人来说,这是[fiddle]。
使用IE9,它打破了:
SCRIPT438:对象不支持 财产或方法 'createDocumentFragment' jquery-1.5.1.js,第5450行第3期
答案 0 :(得分:1)
首先,使用$(document).ready(function(){
或速记$(function(){
其次,从第三个img中删除url属性,并在图像src之前添加斜杠:
var img = $('<img src="icon.next.gif" url="/" />');
$("body").append(img);
img = $('<img />', { src: "icon.next.gif", url: "/" });
$("body").append(img);
img = $('<img src="/icon.next.gif" />');
$("body").append(img);
只要您从CDN中撤出,就应该在发布调试问题之前尝试获取最新版本的jQuery,因为问题可能已经在jQuery中解决了。
你正在使用1.5.1。 jQuery现在是1.6.2,fyi。