首页 > 解决方案 > 通过jquery复制样式而不删除另一个元素

问题描述

这是HTML:(示例)

<div id="id1" style="width:100px;background: rgb(196, 14, 14);">1</div>
<div id="id2" style="margin-top:10px">2</div>

to

<div id="id1" style="width:100px;background: rgb(196, 14, 14);">1</div>
<div id="id2" style="width:100px;background: rgb(196, 14, 14);margin-top:10px">2</div>

这是js:

var x = $('#id1').clone().attr('style');
$('#id2').attr('style', x);

我不希望margin-top:10px删除此代码。

小提琴

标签: javascriptjqueryhtml

解决方案


因此,从元素中获取现有样式,将 x 添加到其中,并使用结果更新元素样式属性。此外,没有理由使用 clone()。只需获取样式属性。

var x = $('#id1').attr('style');
var existingStyle = $('#id2').attr('style');
$('#id2').attr('style', existingStyle + ' ' + x);

但是,更好的方法是使用类和 CSS。然后,您可以使用addClass()将新类添加到元素。


推荐阅读