如何刪除元素,但不包含內容裏面的那個元素?如何刪除一個元素,但不是內部的內容?
<a href="#">
<span>
<img src="pic-1.jpg"/>
</span>
</a>
我想刪除封裝了圖像的span
。
這樣我就可以得到,
<a href="#">
<img src="pic-1.jpg"/>
</a>
如何刪除元素,但不包含內容裏面的那個元素?如何刪除一個元素,但不是內部的內容?
<a href="#">
<span>
<img src="pic-1.jpg"/>
</span>
</a>
我想刪除封裝了圖像的span
。
這樣我就可以得到,
<a href="#">
<img src="pic-1.jpg"/>
</a>
非常感謝! :-) – laukok 2012-03-17 18:34:44
你必須修改你的HTML架構的位位置:
<a href="#" id="my_href">
<span id="my_span">
<img src="pic-1.jpg"/>
</span>
</a>
jQuery的解決方案:
$("#my_href").html($("#my_span").html());
非jQuery的解決方案:
document.getElementById("my_href").innerHTML = document.getElementById("my_span").innerHTML;
像這樣使用HTML通常是一種不好的做法。你正在銷燬和重新創建節點,而不是簡單地重新定位節點,並刪除節點。它還會銷燬任何處理程序或與'img'元素相關的其他數據。 – 2012-03-17 18:40:37
啊,真的嗎?好的,那麼我將在未來避免這種情況。 :) – 2012-03-17 18:41:49
這是**不** ** jQuery解決方案! – gdoron 2012-03-17 18:46:54
$(document).ready(function(){
$span = $('span');
$span.replaceWith($span.html());
});
我認爲這是最完整的答案,因爲它也適用於展開文本(不僅僅是DOM元素) – viery365 2017-03-29 02:25:35
[刪除HTML標籤,但保留的innerHTML](可能的重複http://stackoverflow.com/questions/4232961/remove-a-html-tag-but-keep-the-innerhtml ) – Dzyann 2017-03-01 13:18:40