0

段落の間にいくつかの要素を挿入しようとしています...-しかし、意図したとおりに機能していません:

私が見たいのは次のようなものです:

<p>Text1.</p>
    <span>test1</span> <--injected element
<p>Text2.</p>
    <span>test2</span> <--injected element
<p>Text3.</p>
    <span>test3</span> <--injected element
<p>Text4.</p>
    <span>test4</span> <--injected element
    <span>test5</span> <--injected element
    <span>test6</span> <--injected element

しかし、結果は少し異なります。

<p>Text1.</p>
<span>test6test5test4test3test2test1</span>
<p>Text2.</p>
<span>test6test5test4test3test2test1</span>
<p>Text3.</p>
<span>test6test5test4test3test2test1</span>
<p>Text4.</p>
<span>test6test5test4test3test2test1</span>

私のコードは次のようになります。

$(document).ready(function() {  
            var xArray = 
            [
                "test0",
                "test1",
                "test2",
                "test3",
                "test4"
            ];
            $.each(xArray, function (index, value) {
                $("<span>" + value + "<span>").insertAfter(".articleText p");
            }); 
        });

何をすべき/変更する...?

4

1 に答える 1

3
        var $paragraphs = $(".articleText p");

        $.each(xArray, function (index, value) {
            $("<span>" + value + "<span>").insertAfter($paragraphs.eq(index));
        }); 

p必要な特定のタグではなく、ALLタグの後に要素を挿入しています。を使用eqして、正しいp要素を選択できます。

また、要素よりも配列に多くの要素がある場合にも対処する必要がありpます。

于 2012-12-12T15:29:41.033 に答える