使用jquery / greasemonkey从样式表克隆css样式

时间:2009-11-18 14:05:34

标签: jquery css greasemonkey

我正在使用jquery编写一个Greasemonkey脚本,我想从多个页面添加信息,但我想加载的对象是带有Id的div,有什么方法可以检索样式信息,这样我可以将它应用于添加的部分吗?

1 个答案:

答案 0 :(得分:1)

查看getComputedStyle()

这是未经测试的,但代码将是这样的:

var someOtherElement = document.getElementById('blah');
var style = window.getComputedStyle(document.getElementById('myId'), '');
for (var i in style) {
    if (style.hasOwnProperty(i)) {
        someOtherElement.style[i] = style[i];
    }
}

这只会起作用(好吧,这个可能根本不起作用,但它的基本思想只适用于Firefox),但是既然你说你正在使用greasemonkey,我假设你不关心。


我认为我的大脑今天早上工作不正常 - 但无论如何,这里的东西是有效的,但却是狡猾的。遍历要复制它们的元素的样式

var s = window.getComputedStyle(document.getElementById('myElement'), null);
var someOtherElement = document.getElementById('someOther');

for (var i in someOtherElement.style) {
    try {
        someOtherElement.style[i] = s[i];
    } catch (e) { }
}

就像我说的那样,我的大脑不能正常工作而且上面是狡猾的。 style对象具有属性lengthparentRule,它们是只读的,使其死亡,因此是try / catch。