1

JQueryを使用して、要素のhtmlを自分のものに置き換えたいと思います。私は私がただ使うことができるだろうと思った:

$('#nav a:contains(replace me)').replaceWith('<h2>Label</h2>');

しかし、これは機能しません。私はこれの多くのバリエーションを無駄に試しました。

誰かが私が間違っていることを知っていますか?

編集:現在のhtmlを追加しました:

<div id="nav">
<a href="#">replace me</a>
<a href="#">this is ok</a>
<a href="#">this is ok</a>
<a href="#">this is ok</a>
</div>

私がそれをどのように見せたいか:

<div id="nav">
<a href="#"><h2>Label</h2></a>
<a href="#">this is ok</a>
<a href="#">this is ok</a>
<a href="#">this is ok</a>
</div>
4

3 に答える 3

4

私はただやると思います:

$('#nav a').html(function(i, html) {
    return $.trim(html) == 'replace me' ? '<h2>Label</h2>' : html;
});

フィドル

私はあまり好きではないので:contains、または

$('#nav a:contains(replace me)').html('<h2>Label</h2>');

フィドル

コンテンツだけでなく、アンカー全体replaceWith()を置き換えます。

于 2013-03-25T06:27:34.707 に答える
1

それはあなたのための助けかもしれません

   $("div").find('a').each(function(index)
    {
        if(index==0){
         $(this).html("<h2>Label</h2>");
        }

    }); 
于 2013-03-25T06:35:31.397 に答える
0
$("a").text(function () {
    return $(this).text().replace("replace me", "<h2>Label</h2>"); 
});

これがjsfiddleリンクです http://jsfiddle.net/xpfRV/1/

于 2013-03-25T06:48:16.370 に答える