jquery - 单击时创建新的 div 以包装旧的 div

标签 jquery css

例如现有的 div 是 <div class="two">TWO</div>单击时添加一个名为 .one 的新 div并包装 .two像这样<div class="one"><div class="two">TWO</div></div> , 有什么建议吗?我试过包装和前置。

$(".two").click(function(){
  
  
  $(".one").wrap(this);
});
.one{
  padding:10px;
  background-color:#ff0;
  }
<div class="two">TWO</div>

最佳答案

你们非常接近,只是逻辑有点偏离。您需要从“两个”而不是“一个”(传递给该方法的 HTML)调用 wrap:

$(".two").click(function() {
  $(this).wrap("<div class='one'></div>");
});
.one {
  padding: 10px;
  background-color: #ff0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="two">TWO</div>

关于jquery - 单击时创建新的 div 以包装旧的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31111986/

相关文章:

html - 调整浏览器大小时CSS边框影响宽度

html - Django:CSS 文件不会更新

javascript - 无法使用 javascript 删除和显示另一个 ul 标签?

javascript - Jasmine 预期 spy myLinks 已被调用错误

javascript - 单击父级时调用子级单击事件

html - 如何将子菜单添加到 zurb foundation 侧边导航

CSS 变换 : rotate does not take effect

javascript - 使用 jQuery.load() 加载 div 时的字符编码问题

javascript - 如何调用基础 Orbit Slider 的 onChange 函数?

html - 社交媒体图标不显示在手机上