下面的代码行将更改p
标记到一个div
tag:
$('p').contents().unwrap().wrap('<div />');
问题是这样的:
这也将把任何内部标签变成div
也是如此!
Example:
采取以下 HTML:
<p>abc<a>121</a>cba</p>
运行上面的代码给我这个:
<div>abc</div>
<div><a>121</a></div>
<div>cba</div>
但我想实现这个目标:
<div>abc<a>121</a>cba</div>
我该怎么做才能实现这一目标?为什么它有效,而我的却不起作用?
你需要
$('p').wrap('<div />').contents().unwrap();
Demo: Fiddle http://jsfiddle.net/arunpjohny/vmJ4v/
你的代码是错误的,因为
-
$('p').contents().unwrap()
将删除p
元素并将所有子节点添加到父节点p
元素,则集合有 3 个元素。
-
.wrap('<div />');
将用以下内容包装所有三个元素div
tag
另一种可能的解决方案是
$('p').contents().unwrap().wrapAll('<div />');
Demo: Fiddle http://jsfiddle.net/arunpjohny/vmJ4v/2/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)