如果我知道元素的ID,是否可以更改它具有的HTML標記的類型?使用jQuery更改元素的類型
例如,如果您有<p id="p">Lots and lots of text here.</p>
,是否可以將其更改爲<span id="p">....
?
謝謝。
如果我知道元素的ID,是否可以更改它具有的HTML標記的類型?使用jQuery更改元素的類型
例如,如果您有<p id="p">Lots and lots of text here.</p>
,是否可以將其更改爲<span id="p">....
?
謝謝。
您可以使用replaceWith
方法來做到這一點。您將需要重建替換的屬性。
$('#p').replaceWith(function(){
return '<span>' + $(this).contents().text() + '</span>';
});
完美,感謝您的快速回復。 –
$("p").replaceWith(....) .............
我認爲David正在尋找$(「#p」)。replaceWith(...)將DOM中的一個特定元素替換爲「p」,而不是使用相同的新內容替換所有的段落標籤。 – Todd
@RoyiNamir - 這確實讓我在正確的道路上,因爲我不知道'replaceWith()'的存在。謝謝。 –
請選擇幫助你的答案。 –
你可以這樣做:
var a = $('#p').text();
$('#p').replaceWith('<span id="#p">' + a + '</span>');
只會做我以後,謝謝。 –
var el = document.getElementById(id);
var new = document.createElement("span");
new.id = el.id;
[].forEach.call(el.childNodes, function (node) {
new.appendChild(node);
});
el.parentNode.replaceChild(new, el);
現在,一個很好的問題,就是爲什麼。你爲什麼要改變html元素?
當然,你選擇這一塊數據的語義元素最多,爲什麼另一個元素是一個更好的選擇?
有點囉嗦滿足我的需求,但感謝回覆。 –
http://stackoverflow.com/questions/918792/use-jquery-to-change-an-html-tag – Vikk
@Vikk - 謝謝,我以前無法在這裏找到答案。 –