jQuery 将应用类转换为样式属性

标签 jquery css

我正在开发一个书签元素。因此,当用户单击小书签时,他可以抓取网页的部分内容并在其他地方查看。

问题是部分元素(假设 div)应用了 css 样式和类。

有没有办法循环遍历所选 div 的所有子元素并将类属性转换为样式属性,以便我可以保持格式设置?

例如下面的示例屏幕截图; 我需要取出所有应用的类并将它们转换为选定区域中的样式属性。

enter image description here

最佳答案

(function($) {
    $.extend($.fn, {
        makeCssInline: function() {
            this.each(function(idx, el) {
                var style = el.style;
                var properties = [];
                for(var property in style) { 
                    if($(this).css(property)) {
                        properties.push(property + ':' + $(this).css(property));
                    }
                }
                this.style.cssText = properties.join(';');
                $(this).children().makeCssInline();
            });
        }
    });
}(jQuery));

您可以使用

来调用它
$(".select").makeCSSInline();

此函数的问题在于,它将所有 CSS 属性都带入标记中,因此可能会导致性能严重下降,但如果您愿意冒这个风险,请继续

Fiddle

here 获取的函数

关于jQuery 将应用类转换为样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979039/

相关文章:

html - html表单输入项之间的间距

html - 在 IE11 中 Bootstrap 导航栏搜索拆分

css - 如何忽略真正 100% 宽度的 parent 填充?

javascript - Bootstrap datetimepicker 返回未定义的值

javascript - 使用浏览器控制台发送ajax数据

javascript - HTML5 'required' 表单重置时留下无效的伪类

jquery - 使用 Bootstrap 3 滚动 Div 的解决方案是什么

CSS Floating Div with Image VS Floating Div with Div having background-image

html - Angular 组件上的条件样式表?

javascript - bootstrap popover 在 jquery 加载函数中不起作用