javascript - 使用具有绝对放置元素的 Jquery 包装函数

标签 javascript jquery html css

我正在尝试对定位为absolute 的元素使用jQuery wrap 函数。以下是我的代码。

单击子元素时,我用另一个 div 包装了相同的子元素,但它不起作用。相反,包装器元素出现在屏幕顶部。如何操作 cssjs 来包装子元素。

$(document).ready(function() {
  $("#child").click(function() {
    $(this).wrap("<div class='wrapper'></div>")
  });
});
#container {
  position: relative;
  height: 500px;
  width: 600px;
  background: #ccc
}
#child {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #444;
  border: 2px solid red;
  height: 200px;
  width: 200px;
}
.wrapper {
  border: 1px dashed green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <div id="child">

  </div>
</div>

最佳答案

只需更新包装器

$(document).ready(function() {
  $("#child").click(function() {
    $(this).wrap("<div class='wrapper'></div>")
  });
});
#container {
  position: relative;
  height: 500px;
  width: 600px;
  background: #ccc
}
#child {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #444;
  border: 2px solid red;
  height: 200px;
  width: 200px;
}
.wrapper {
  border: 1px dashed green;
  height: 200px;
  width: 200px;
  position:absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
   margin: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<div id="container">
  <div id="child">

  </div>
</div>

关于javascript - 使用具有绝对放置元素的 Jquery 包装函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37362311/

相关文章:

javascript - jQuery - 窗口调整大小;后

javascript - 似乎无法更改 span 元素的类

html - 列表项显示不正确

javascript 将数据添加到表格单元格

javascript - 如何使用 jQuery AutoComplete 在文本框中输入 json 值?

javascript - 使用 Mountebank,冒名顶替者是否有可能在向客户端返回响应后执行某些逻辑?

Jquery 数据表 - Excel 导出不起作用

javascript - 在 Jquery 中,如何在另一个操作之前执行一个操作?

javascript - 正确的链接使用

javascript - Nodejs 测试不会在 Promise 中出错