如何用jQuery为class=titlemedium的div包裹外层div?
用jQuery实现将指定元素包裹到新容器中的正确方法
你之前的脚本逻辑完全搞反了——你在尝试给一个还不存在的.divthatcomesbefore元素前面添加内容,但实际需求是用新容器包裹已有的.titlemedium元素。
使用jQuery的wrap()方法就能直接实现这个需求,这是专门用来包裹选中元素的API:
$(document).ready(function() { // 选中所有.titlemedium元素,用新的div包裹它们 $(".titlemedium").wrap('<div class="divthatcomesbefore"></div>'); });
代码说明
$(document).ready():确保脚本在页面DOM完全加载后执行,避免因元素未渲染导致选中失败$(".titlemedium"):精准选中目标元素.wrap('<div class="divthatcomesbefore"></div>'):给每个选中的.titlemedium元素外层套上指定的容器div,完全匹配你需要的结构。
结构对比
现有固定结构:
<div class="titlemedium"> </div>
执行脚本后得到的期望结构:
<div class="divthatcomesbefore"> <div class="titlemedium"> </div> </div>
内容的提问来源于stack exchange,提问作者Tana Proma
相关产品推荐
相关产品推荐

