0

我有一个使用 Jquery UI 的应用程序。创建拖放可排序的图片列表。这些图片被插入<li><ul>. 通过下面的代码,我可以遍历,接收每个列出的 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(),但我似乎无法弄清楚。

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

4

1 回答 1

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');
        }
于 2013-07-19T13:23:36.237 回答