我正在开发一个书签元素。因此,当用户单击小书签时,他可以抓取网页的部分内容并在其他地方查看。
问题是部分元素(假设 div)应用了 css 样式和类。
有没有办法循环遍历所选 div 的所有子元素并将类属性转换为样式属性,以便我可以保持格式设置?
例如下面的示例屏幕截图; 我需要取出所有应用的类并将它们转换为选定区域中的样式属性。
最佳答案
(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 属性都带入标记中,因此可能会导致性能严重下降,但如果您愿意冒这个风险,请继续
从 here 获取的函数
关于jQuery 将应用类转换为样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979039/