0

存在しないdiv内に関数をラップするにはどうすればよいですか?

これまで、前後に.appendを試しましたが、これでタグが閉じます。また、.htmlを試し、関数の直後にラップしましたが、うまくいきませんでした。

$("#testing .input").each(function() {
    var s = $(this).find("li .value").text();
    // start wrap
    $("span.rune > span", this).each(function() {
        var e = $(this).text();
        $("#test-output").append('<span class="' +e+ ' Rune"></span>');
    });
    // stop wrap
    $("#test-output").append('<span>' +txtToNumber[s]+ '</span>');
});

HTMLの開始:

<div id="test-output"></div>

HTMLの終了:

<div id="test-output">
    <div class="three">
        <span class="Z Rune"></span>
        <span class="Y Rune"></span>
        <span class="X Rune"></span>
    </div>
</div>

ありがとう!

4

1 に答える 1

1

要素を追加せずにjQueryで作成できます。次に、それらは基本的に「まだ存在していません」、少なくともDOMにはありません(切断されています)。.threeまた、要素を作成し、それをDOMに追加してから、要素を追加することもできます.Rune

// create .three element and append it to the DOM
var $three = $("<div>").addClass("three").appendTo("#test-output");

// map these elements to .Rune elements
$("span.rune > span", this).map(function() {
    var e = $(this).text();

    return $("<span>")
             .addClass(e)
             .addClass("Rune")
             .get(0);
}).appendTo($three);  // and append them to .three
于 2012-11-18T18:16:48.170 に答える