javascript - 通过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
删除此代码。
解决方案
因此,从元素中获取现有样式,将 x 添加到其中,并使用结果更新元素样式属性。此外,没有理由使用 clone()。只需获取样式属性。
var x = $('#id1').attr('style');
var existingStyle = $('#id2').attr('style');
$('#id2').attr('style', existingStyle + ' ' + x);
但是,更好的方法是使用类和 CSS。然后,您可以使用addClass()
将新类添加到元素。
推荐阅读
- swift - Audiokit 修剪音频
- javascript - 当我们使用 VueJS 单击图片时,如何独立地放大图片?
- typescript - 尝试在样式组件中使用道具时出现 TS 错误
- python - 如何从一组日期列中获取最大日期值
- r - NA 的子集化如何工作?
- r - ggplot - 多个图例排列
- laravel - Laravel - 访问 OneToMany 关系上的属性时的非法偏移类型
- azure-data-factory - 复制数据 - 如何跳过身份列
- javascript - BLOB URL 在 Safari 中不起作用
- php - 在 Google Drive API PHP 中使用权限复制文件