我有一个使用Jquery UI的应用程序。以创建可拖放排序的图片列表。这些图片被插入到CCD_ 2的CCD_。通过下面的代码,我能够循环通过,接收每个列出的li的内容,但不能接收<img>
标签的内容。
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
$( "#savebutton" ).click(function() { LISTOBJ.saveList(); });
});
var LISTOBJ = {
saveList: function() {
var listCSV = "";
$( "#sortable li" ).each(function() {
if (listCSV === "") {
listCSV = $(this).text();
} else {
listCSV += "," + $(this).text();
}
$("#output").text(listCSV);
$("#hiddenListInput").val(listCSV);
//$("#listsaveform").submit();
});
}
}
我的问题是-为什么我可以看到<li>
的内容,而不能看到其中img标记的内容?我相信答案就在给.each加一个.attr(),但我似乎想不通。
有人知道我错过了什么吗,或者我是否走在了正确的轨道上?
您应该使用html()
而不是text()
才能获得所有<img>
标签
if (listCSV === "") {
listCSV = $(this).html();
} else {
listCSV += "," + $(this).html();
}
或者如果您只想要src
属性
if (listCSV === "") {
listCSV = $(this).find('img').attr('src');
} else {
listCSV += "," + $(this).find('img').attr('src');
}