.attr() 获取<img>内容



我有一个使用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');
        }

最新更新