这个是可能的吗?
示例:
$('a.change').click(function(){
//code to change p tag to h5 tag
});
<p>Hello!</p>
<a id="change">change</a>
因此,单击change锚点应该会导致<p>Hello!</p>
部分更改为(举个例子) h5标记,这样在单击之后您就会得到<h5>Hello!</h5>
。我知道您可以删除p标记并将其替换为h5,但是有必要修改HTML标记吗?
发布于 2009-05-28 01:33:33
一旦创建了dom元素,我相信标签就是不可变的。你必须这样做:
$(this).replaceWith($('<h5>' + this.innerHTML + '</h5>'));
发布于 2009-05-28 01:38:06
您不应该更改标记的类型,而应该更改标记的样式(或者更确切地说,是具有特定id的标记)。更改文档的元素以应用样式更改不是一种好的做法。试试这个:
$('a.change').click(function() {
$('p#changed').css("font-weight", "bold");
});
<p id="changed">Hello!</p>
<a id="change">change</a>
发布于 2019-05-25 02:59:32
我的想法是包装元素和展开内容:
function renameElement($element,newElement){
$element.wrap("<"+newElement+">");
$newElement = $element.parent();
//Copying Attributes
$.each($element.prop('attributes'), function() {
$newElement.attr(this.name,this.value);
});
$element.contents().unwrap();
return $newElement;
}
示例用法:
renameElement($('p'),'h5');
https://stackoverflow.com/questions/918792
复制相似问题