使用JQuery在多个HTML元素中包装一组元素
我需要将HTML添加到页面中,但我无法直接控制HTML本身,因此我尝试使用JQuery 这是现有的、生成的HTML(简化): 注意,出于样式的原因,我需要添加3个包含使用JQuery在多个HTML元素中包装一组元素,jquery,html,Jquery,Html,我需要将HTML添加到页面中,但我无法直接控制HTML本身,因此我尝试使用JQuery 这是现有的、生成的HTML(简化): 注意,出于样式的原因,我需要添加3个包含标记和(以及相关的结束标记) 我希望使用.first().before和.last().before和.last().before来添加HTML,但JQuery添加了结束标记。我也尝试过使用JQuery的各种.wrapAll,.before,.append,但由于我不理解的原因,我一直运气不佳 stackoverflow上的其他解决
标记和
(以及相关的结束标记)
我希望使用.first().before
和.last().before
和.last().before
来添加HTML,但JQuery添加了结束标记。我也尝试过使用JQuery的各种.wrapAll
,.before
,.append
,但由于我不理解的原因,我一直运气不佳
stackoverflow上的其他解决方案似乎都是将元素组包装在一个
中,但我在尝试添加其他
和
时遇到了麻烦
有人对如何实现这一目标有什么建议吗 如果不尝试使用包装方法,这可能会更容易 我只需一次性为包装器创建HTML结构
var $wrapper = $('<div><div><h2>Testimonials</h2><div></div></div></div>');
然后简单地抓取所有.commential
元素,并将它们附加到我们刚刚创建的新结构的最内层div元素中
$wrapper.find('div div').append($('.testimonial'));
在本例中,检查生成的DOM,它应该是您想要的:我为
div
定义了一个id
,以便以后很容易找到它
希望这有助于:
$(文档).ready(函数(){
美元(“.estimential”).wrapAll(“”);
$(“证明”)。插入之前(“证明”);
});
正文{
背景:gainsboro;
}
#证明{
背景:白色;
}
内容
内容
内容
内容
内容
内容
内容
如果有多个鉴定案例需要分组,我会提出这个建议
//查找课程前面的推荐信
$('.currency+.commential')。每个(函数(){
var$FirstEstimational=$(本);
//获得第一份推荐信和所有紧接着的推荐信
var$group=$firstEstimational.add($firstEstimational.nextUntil(':not(.esticimational));
//创建一个具有组应该去哪里的目标id的替换
变量$replacement=$(“证明”);
//把替代者放在第一份证明的地方
$FIRSTDESTIONAL.replaceWith($REPLACENT);
//将组中的所有推荐信放入替换中,然后删除临时id
$replacement.find('#testarget').append($group.removeAttr('id');
});代码>
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
内容
可能重复感谢,一个很好的简单解决方案!
var $wrapper = $('<div><div><h2>Testimonials</h2><div></div></div></div>');
$wrapper.insertBefore('.testimonial:first');
$wrapper.find('div div').append($('.testimonial'));