我有一个使用Jquery UI的应用程序。若要创建可拖放的可排序图片列表,请执行以下操作。这些图片被插入到<ul>的<li>中。通过下面的代码,我能够遍历,接收列出的每个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标记的内容?我相信答案就在将.attr()添加到.each中的某个地方,但我似乎找不到答案。
有没有人知道我错过了什么,或者我是否在正确的轨道上?
发布于 2013-07-19 21:23:36
您应该使用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');
}https://stackoverflow.com/questions/17747108
复制相似问题