我有以下代码:
<div class="normal">
<div>
<div>~Content 1~</div>
</div>
</div>
<div class="normal replace">
<a href="#">
<div>~Content 2~</div>
</a>
</div>
使用jQuery,我想用<a>
标记替换<div class="normal replace">
内的<div>
标记,同时保留其内容。
<div class="normal replace">
<div="result">
<div>~Content 2~</div>
</div>
</div>
答案 0 :(得分:13)
$('.normal > a').replaceWith(function() {
return $('<div/>', {
html: this.innerHTML
});
});
答案 1 :(得分:4)
尝试这样的事情:
// Select the 'a' tag to be replaced and call the replaceWith method
$('.normal a').replaceWith(function(){
// Execute a callback to generate contents of the replacement
// The $('<div>') part creates a div
return $('<div>', {
html: this.innerHTML // This takes the html of the 'a' tag and copies it to the new div
});
});
jQuery replaceWith
方法接受该项并将其替换为回调函数返回的项。
有关详细信息,请参阅here
答案 2 :(得分:1)
在这里你可以从这里Using jQuery to replace one tag with another
获取$('div.normal a').contents().unwrap().wrap('<div id='result'/>');
答案 3 :(得分:1)
试试这个 -
$('div.normal.replace a').find('div').unwrap().wrap("<div id='result'/>");
答案 4 :(得分:0)
使用以下内容 $('div.normal.replace a')。replaceWith(“”+ $('div.normal.replace a')。html()+“”);
答案 5 :(得分:0)