jquery - 通过 jQuery 在 DIV 之间复制选定的 CSS 样式

标签 jquery css html

我想将一些 CSS 样式从一个 DIV 复制到另一个 DIV。

  1. 点击“ONE”DIV

  2. 然后 jQuery 从 ARRAY 读取 CSS 属性列表

  3. 然后将这些属性从 DIV“ONE”复制到 DIV“TWO”。

这是我的尝试,但没有成功。这是怎么回事?

"JsFiddle Example" .

HTML

 <div class="one">Click HERE on this DIV, to TRANSFER CSS properties From this ONE</div>
 <div class="two">To this TWO</div>

CSS

* {
   background-color:gray;
}
.one {
   color: red;
   font-size:12px;
   width: 100px;
   height: 100px;
   background-color: white;
   margin: 20px;
   padding: 20px;
   font-weight: bold;
}
.two {
   font-size:20px;
   color: blue;
   width: 200px;
   height: 200px;
   background-color: yellow;
   margin: 20px;
   padding: 20px;
}

jQuery

 $(document).ready(function(){
     $("div.one").click(function(){
         var $array = ['color','width','height', 'background-color', 'font-weight', 'font-size'];
         $(this).each( $array , function(item, value){
             $("div.two").css(value, $(this).css(value));
         });
     });
 });

最佳答案

  1. 选择jQuery在 JSFiddle 的左侧面板中。
  2. 使用$.each(array, fn)而不是$().each(array, fn) .
  3. $(this)存储在变量中,例如$this = $(this)。在循环内,this 引用数组元素,而不引用被单击的 DOM 元素。
  4. (非关键)不要在非 jQuery 对象前面加上 $ 前缀。

演示:http://jsfiddle.net/meU9M/2/

$(document).ready(function(){
    $("div.one").click(function(){
        var array = ['color','width','height', 'background-color', 'font-weight', 'font-size'];
        var $this = $(this);
        $.each( array , function(item, value) {
            $("div.two").css(value, $this.css(value));
        });
    });
});

关于jquery - 通过 jQuery 在 DIV 之间复制选定的 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160954/

相关文章:

html - SCSS - 嵌套的 css 类导致不同的大小(宽度和高度)

css - 试图显示固定高度的 DIV。为什么后续的 DIV 显示在固定高度的 DIV 之上?

javascript - 尝试创建折叠/展开所有按钮

php - 为什么这会返回我 'undefined'

jquery - 如何在 AJAX 请求中实现 jQuery 旋转图像

javascript - jquery validate SubmitHandler 在提交按钮后未触发

css - 如何在其相邻的 div 完成调整大小时调整一个 div 的大小?

javascript - 在 Gridster 上,拖动期间将小部件保持在鼠标下方

javascript - 在 Bootstrap 中放大图像 :- changes all images to enlarged image

css - 在 css 中实现表格的最简洁方法,哪一列没有明确的宽度(但包装内容),而其他列具有固定宽度?