.attr()获取<img/>内容

时间:2013-07-19 13:17:38

标签: jquery jquery-ui each

我有一个使用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中,但我似乎无法弄明白。

有谁知道我错过了什么,或者我是否走在正确的轨道上?

1 个答案:

答案 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');
        }