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 回答