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 タグを表示できないのはなぜですか? 答えは .attr() を .each に追加することのどこかにあると思いますが、それを理解できないようです。

私が何を見逃しているか、または私が正しい軌道に乗っているかどうかを誰かが知っていますか?

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 に答える