jquery - 给定两个元素,将 html 包裹在异构元素周围?

标签 jquery

给定两个有序但不一定连续的同级元素,我如何将 html 包裹在它们周围?

$(element_a).before( "<span class='wow'>" );
$(element_b).after( "</span>" );

上面的方法不起作用,因为它为我关闭了开始标签,并且不插入后者。

(这对 sibling 的类型和类别各不相同,因此使用切片来帮助完成这项任务很困难,但也许我还没有考虑清楚。)

最佳答案

如果我理解正确的话,您希望在 element_aelement_b (含)之间的所有元素放置一个跨度。

.wrapAll() method一旦你弄清楚如何将所有这些元素放入一个 jQuery 对象中,就可以很好地做到这一点,但是像这样的东西应该可以工作:

var $els = $(element_a);
$els = $els.add( els.nextUntil(element_b) ).add(element_b)

$els.wrapAll("<span class='wow' />");

这从仅包含 element_a 的 jQuery 对象开始,然后使用 .add() method.nextUntil() method添加element_aelement_b之间的所有元素,最后添加element_b

关于jquery - 给定两个元素,将 html 包裹在异构元素周围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713193/

相关文章:

jquery - 如何在HTML5 + CSS3中模拟类似窗口的内容区域剪切

javascript - 为什么下面的 jquery 告诉我我的 cookie 仍然存在?

jquery 结合 <a> 链接 id

jquery - 将字符串 append 到文本框内容?

javascript - CheckBox 选中所有子复选框

jQuery - 动画可折叠 DIV,向上滑动?

Javascript 在其他函数完成后执行函数

javascript - 单击文本框字段并获取所选日期的值时,如何在 html 中显示日期元素?

javascript - 为什么日期时间选择器中的日期没有突出显示?

javascript - 如何在JQuery中显示隐藏使用最接近和查找方法选择的元素?