当前位置:  开发笔记 > 编程语言 > 正文

如何从一个元素移动所有计算的CSS样式并使用JavaScript将它们应用于不同的元素?

如何解决《如何从一个元素移动所有计算的CSS样式并使用JavaScript将它们应用于不同的元素?》经验,为你挑选了1个好方法。

我有一个外部样式表,它将一些样式应用于给定元素.我希望能够将这些样式(使用JavaScript)完全移动到不同的元素,而无需事先了解正在应用的样式.

CSS:

td { padding: 5px }
div { }

HTML:


    
Apply the TD styles to this DIV (instead of the TD).

JavaScript:

$(document).ready(function(){
    $('tr').children('td').each(function(){
        //move the td styles to div
    });
});

我怎样才能做到这一点?

更新:要明确,我无法控制CSS.我无法知道可以应用哪些样式.我试图解决的问题是能够获取元素并复制其样式(可能是未知的)并将它们应用于不同的元素.



1> vcanales..:

这是我想出的解决方案,它混合了document.defaultView.getComputedStyle和jQuery的.css():





    
    


    

Hi

Apply styles

Hi again

//style.css 
#test {
    border: 3px solid #000000;
}

这样做是复制计算出的样式对象,包括style.css和内联样式,并使用jQuery的.css()将其设置为另一个div.

我希望我没有误解这个问题,而这正是你所需要的.

编辑:我忘了的是你要求"移动"样式而不是复制它.使用jQuery的.removeClass()并使用.attr()删除样式属性来删除前一个div中的样式非常简单,但是你必须记住,如果有任何样式规则应用于元素的ID,那么无法阻止它们被应用.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有