如果我知道元素的ID,是否可以更改它所拥有的HTML标记的类型?
例如,如果您有<p id="p">Lots and lots of text here.</p>
,是否可以将其更改为<span id="p">....
?
感谢。
答案 0 :(得分:9)
您可以使用replaceWith
方法执行此操作。您需要重建替换的属性。
$('#p').replaceWith(function(){
return '<span>' + $(this).contents().text() + '</span>';
});
答案 1 :(得分:2)
你可以这样做:
var a = $('#p').text();
$('#p').replaceWith('<span id="#p">' + a + '</span>');
答案 2 :(得分:2)
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元素?
当然,您为这段数据选择了最具语义性的元素,为什么另一个元素会成为更好的选择呢?
答案 3 :(得分:1)
$("p").replaceWith(....) .............