从父级中删除特定标签(jQuery)
HTML:
<div class="featured">
<h4><a href="#">Title 1</a></h4>
<a href="#"><img src="image.png" class="image"/></a>
<p><a href="#"></a><br />
Description goes here</p>
</div>
<div class="featured">
<h4><a href="#">Title 2</a></h4>
<a href="#"><img src="image.png" class="image"/></a>
<p><a href="#"></a></p>
<p>Description goes here</p>
</div>
.. 如何从 .featured 中删除所有
标签?
谢谢
HTML:
<div class="featured">
<h4><a href="#">Title 1</a></h4>
<a href="#"><img src="image.png" class="image"/></a>
<p><a href="#"></a><br />
Description goes here</p>
</div>
<div class="featured">
<h4><a href="#">Title 2</a></h4>
<a href="#"><img src="image.png" class="image"/></a>
<p><a href="#"></a></p>
<p>Description goes here</p>
</div>
.. How do I strip out all <p>
tags from .featured?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是可行的,但只是因为你的段落元素位于 div 的末尾:
This works, but only because your paragraph elements are at the end of your divs:
查看 Ben Alman 的展开“插件”
您的用法是:
Check out Ben Alman's unwrap "plugin"
your usage would be:
这是通过将每个
更改为
来实现的。它就地执行此操作,因此
不必位于末尾(无附加 - 它不会对元素重新排序):
它使用 html,因此元素将丢失数据和事件绑定。
This works by changing each
<p>
to<span>
. It does that in-place, so the<p>
s don't have to be at the end (no append - it will not reorder the elements):It is using html, so the element will lose data and event bindings.
使用 jQuery 1.4,你可以这样做:
此处 测试它
文本节点不会解开,因此你必须单独做它们。我不确定为什么 ReplaceWith 要求它们位于标签内。
With jQuery 1.4 you could do it like this:
Test it here
Text nodes don't get unwraped, so you have to do them separately. I'm not sure why replaceWith requires them to be inside tags.
像这样的东西吗?
编辑2:经过测试,有效。又好又简单。
Something like this?
Edit 2: Tested, works. nice and simple.