$('#test-list').append($(document.createElement("li")).attr({id: data.msg}));
$('#'+data.msg).append($(document.createElement("img")).attr({src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"}));
由于$('#'+data.msg).
参数,不起作用。我不知道如何解决它。我想为#test-list创建一个子元素,并将其命名为data.msg变量的值。
答案 0 :(得分:2)
您可以在创建<li>
时附加图片。
例如:
$('#test-list').append(
$('<li><img src="kep.php?kep=upload/' + data.msg + '&w=180;&h=150" /></li>')
.attr('id', data.msg)
);
答案 1 :(得分:2)
试试这个
var img = $("<img>").attr({src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"});
$("<li>").attr({id: data.msg}).append(img).appendTo('#test-list');
如果你使用的是jQuery 1.4.x,你可以这样做:
var img = $("<img>",{src: "kep.php?kep=upload/"+data.msg+"&w=180;&h=150;"});
$("<li>",{id: data.msg}).append(img).appendTo('#test-list');
答案 2 :(得分:2)
你将以奇怪的方式混合DOM调用和jQuery。我建议用jQuery做这一切。根据您要添加的内容以及您为其指定属性的内容,元素链有些混淆。您可以在创建元素时直接指定id等。
这应该有效:
$('#test-list').append($("<li id='"+data.msg+"'><img src='kep.php?kep=upload/"+data.msg+"&w=180;&h=150'></li>")
答案 3 :(得分:2)
您可以将整个任务链接起来:
$("<li>")
.appendTo("#test-list")
.attr("id", data.msg)
.append("<img>")
.find("img:first")
.attr("src", "kep.php?kep=upload/" + data.msg + "&w=180;&h=150;");
产生以下内容:
<li id="foo">
<img src="kep.php?kep=upload/foo&w=180;&h=150;">
</li>
其中“foo”是data.msg
的值。
答案 4 :(得分:0)
如果我不得不猜测,我会说你的data.msg有一个值不允许作为选择用途的ID(通常以[-a-zA-Z]开头并包含[_- \ da-zA-Z]。如果您的图像名称(data.msg)以或是数字开头,我建议在ID中添加前缀。
在任何一种情况下,您都可以在一个声明中执行此操作......
$("<li/>")
.attr("id", data.msg)
.append(
$("<img/>")
.attr("src", "kep.php?kep=upload/"+data.msg+"&w=180;&h=150")
)
.appendTo("#test-list");