我想用JQuery用我自己的html替换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>
答案 0 :(得分: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()
将取代整个锚,而不仅仅是它的内容。
答案 1 :(得分:1)
可能对你有所帮助
$("div").find('a').each(function(index)
{
if(index==0){
$(this).html("<h2>Label</h2>");
}
});
答案 2 :(得分:0)
$("a").text(function () {
return $(this).text().replace("replace me", "<h2>Label</h2>");
});
这是一个jsfiddle链接 http://jsfiddle.net/xpfRV/1/