我有一个使用Jquery UI的应用程序。创建拖放可排序的图片列表。这些图片会插入<li>
的{{1}}。通过以下代码,我可以循环访问每个列出的li的内容,但不能接收<ul>
标记的内容。
<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();
});
}
}
的内容,而不是内部的img标签的内容?我相信答案就在于将.attr()添加到.each中,但我似乎无法弄明白。
有谁知道我错过了什么,或者我是否走在正确的轨道上?
答案 0 :(得分:1)
您应该使用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');
}