0

要素の親の innerhtml にリンクを追加するのに問題があります。リンクのコンテンツは要素内に含まれています。ユーザーがランダムな段落タグを追加できるように (おそらく追加する予定です)、コンテンツ管理サイト用にこれをコーディングしています。jqueryを使用してソリューションを策定しようとしましたが、何かが欠けているようです(おそらく明白です)

html は次のとおりです。

<ul class="publications">
    <li>
        <span class="pub-image"><img src="image1.jpg" alt="image1" /></span>
        <span class="description">
            <p><a title="Report1" href="report1.htm">Report1</a></p>
        </span>
    </li>
    <li>
        <span class="pub-image"><img src="image2.jpg" alt="image2" /></span>
        <span class="description">
            <p><a title="Report2" href="report2.htm">Report2</a></p>
        </span>
    </li>
    <li>
        <span class="pub-image"><img src="image3.jpg" alt="image3" /></span>
        <span class="description">
            <p><a title="Report3" href="report3.htm">Report3</a></p>
        </span>
    </li>
</ul>

このjqueryを試して、スパンクラスの説明内のリンクを見つけ、両方のスパン要素をラップしました

$(document).ready(function(){
    $('.description').each(function() {
        var itemhref = $(this).find('a').attr("href");
        $(this).parent.html("<a href='"+itemhref+"'>" + $(this).parent.html() + "</a>");

    });
});

誰でも助けることができますか?

4

1 に答える 1

3

親は関数ではないため、最初の $(this).parent はエラーをスローするため、次のように呼び出す必要があります

$(this).parent()

次に、新しい段落を追加しようとしていますか、それとも単にアンカーを追加しようとしていますか?

アンカーを追加しようとしている場合は、次のようにできます。

$(document).ready(function() {
    $('.description').each(function() {
        var itemhref = $(this).find('a').clone(true).removeAttr('title');
        $(this).parent().append(itemhref);
    });
  });
于 2012-04-24T15:20:45.557 に答える