今天上班刚刚接杯水坐在电脑旁,听见同事们在讨论想要
改变标签的名称;我一听感觉这种东西改怎么实现呢?除非是删除原有的标签,添加新的标签,感觉只有这种方法,没有其他的了。
javascript
想了想,可以直接改变innerHTML,这里是用javascript写的:
<span οnclick="change()" id='pic'><p>点击</p></span>
<script language="javascript">
function change()
{
var div=document.getElementById('pic');
div.innerHTML="<div>父元素改变</div>";
}
</script>
这里是在span标签上定义一个点击方法,通过访问id来获取他其中的P标签元素,最后通过innerHTML来改变其中的标签及其内容;
jQuery
后来查询资料,找到两个方法,一个是wrap();另一个是unwrap();从字面上看,很容易就会发现这两个方法是相反的; wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中;而unwrap() 方法删除被选元素的父元素。通过这两个方法的调用,我们很容易就会实现标签的替换:
<p>
<span>父元素</span>
</p>
<button >我要改变你的父元素</button>
<script>
$(document).ready(function(){
$("button").click(function(){
$("span").unwrap().wrap("<div>改变了你的</div>")
});
});
</script>
通过父元素这个“桥梁”,我们可以非常清晰的解决这个问题