在jQuery中克隆样式?
我有一个名为spn1
的 ,它有一些来自内联+ CSS文件的样式。
我有另一个名为spn2
。
如何将spn1
的完整样式克隆到spn2
?
我希望spn2
看起来像spn1
一样(风格)。
看看这个post: https : //stackoverflow.com/a/6416527/541827
我们的想法是将所有样式的属性从一个项目复制到另一个项目
或者只是使用jquery.copycss.js插件,答案是基于。
用法:
$('#some-element').copyCSS('#another-element'); // copy all styles $('#some-element').copyCSS('#another-element', ['top', 'left']); // copy just top and left $('#some-element').copyCSS('#another-element', null, ['top', 'left']); // copy everything except top and left
试试这个:
$("#spn2").attr("style", $("#spn1").attr("style")) .addClass($("#spn1").attr("class"));
jQuery没有任何直接的工具来做这件事。 您将不得不使用普通的旧JavaScript来查找跨浏览器的方式来将一个元素的计算样式复制到另一个元素。 这个答案有一个潜在解决方案的实现。
UPDATE
检查这个小提琴: http : //jsfiddle.net/9BJ5y/
更好的想法是克隆spn1并用它替换spn2。
即:像:
var x = $('#spn2').html(); $('#spn2').replaceWith($('#spn1').clone().html(x).attr('id', 'spn2'));
var replica=$('#template').clone(); replica .removeAttr('id') .css('display', 'block') .find('span').text('Whatever'); replica.appendTo('#container');
试试这个:
document.getElementById("spn2").style = document.getElementById("spn1").style;
为什么不在当时对这两个元素应用任何规则?
就像是:
$('spn1','spn2').css({color: 'red'});
您可以使用多个选择器http://api.jquery.com/multiple-selector/