0

次のコード ブロックは機能しません。

$("<span class=\"ideacount\">").prependTo(chapter.parents(".chapter")).each( function(index) {
    $(this).html((parseInt($(this).text() || 0)+1)+"");
});

ここで、「chapter」は、この場合、クラス「chapter」の他の要素間で 5 要素の深さでネストされたノードです。

このコードは期待どおりに動作しますが、私が望むものではありません (「章」の祖先だけでなく、ツリー構造の他のすべてのブランチにも追加されます):

$("<span class=\"ideacount\">").prependTo(".chapter").each( function(index) {
    $(this).html((parseInt($(this).text() || 0)+1)+"");
});

編集:詳しく説明する:

chapter.parents().length

10 です (クラス「チャプター」の 5 スパン、5 リ)

chapter.parents(".chapter").length が 0!?

4

1 に答える 1

0

両親の代わりに最も近いものを試してください。

$("<span class=\"ideacount\">").prependTo(chapter.closest(".chapter")).each( function(index) {
    $(this).html((parseInt($(this).text() || 0)+1)+"");
});
于 2012-07-30T22:31:55.967 に答える