栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jQuery是否可以获取与元素关联的所有CSS样式?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jQuery是否可以获取与元素关联的所有CSS样式?

迟了几年,但是这里有一个可以同时检索内联样式和外部样式的解决方案:

function css(a) {    var sheets = document.styleSheets, o = {};    for (var i in sheets) {        var rules = sheets[i].rules || sheets[i].cssRules;        for (var r in rules) { if (a.is(rules[r].selectorText)) {     o = $.extend(o, css2json(rules[r].style), css2json(a.attr('style'))); }        }    }    return o;}function css2json(css) {    var s = {};    if (!css) return s;    if (css instanceof CSSStyleDeclaration) {        for (var i in css) { if ((css[i]).toLowerCase) {     s[(css[i]).toLowerCase()] = (css[css[i]]); }        }    } else if (typeof css == "string") {        css = css.split("; ");        for (var i in css) { var l = css[i].split(": "); s[l[0].toLowerCase()] = (l[1]);        }    }    return s;}

将jQuery对象传递给

css()
,它将返回一个对象,然后您可以将其插回jQuery的
$().css()
,例如:

var style = css($("#elementToGetAllCSS"));$("#elementToPutStyleInto").css(style);

:)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号