html为何转换为json,将HTML元素的“样式”属性转换为JSON

6 个答案:

答案 0 :(得分:2)

这个怎么样:

function getStyles(el) {

var output = {};

if (!el || !el.style || !el.style.cssText) {

return output;

}

var camelize = function camelize(str) {

return str.replace (/(?:^|[-])(\w)/g, function (a, c) {

c = a.substr(0, 1) === '-' ? c.toUpperCase () : c;

return c ? c : '';

});

}

var style = el.style.cssText.split(';');

for (var i = 0; i < style.length; ++i) {

var rule = style[i].trim();

if (rule) {

var ruleParts = rule.split(':');

var key = camelize(ruleParts[0].trim());

output[key] = ruleParts[1].trim();

}

}

return output;

}

var element = document.querySelector('div');

var css = getStyles(element);

console.log('css ->', css);

输出:强>

{

color: "green",

border: "1px solid orange",

marginLeft: "15px",

padding: "20px",

backgroundColor: "white"

}

小提琴:强>

答案 1 :(得分:2)

HTML

的JavaScript

var styles = $('#myElt').attr('style').split(';'),

i= styles.length,

json = {style: {}},

style, k, v;

while (i--)

{

style = styles[i].split(':');

k = $.trim(style[0]);

v = $.trim(style[1]);

if (k.length > 0 && v.length > 0)

{

json.style[k] = v;

}

}

alert($.toJSON(json));

答案 2 :(得分:2)

也许这么轻微的答案,但我遇到了这个线程,寻找一种方法将style属性转换为一个对象,准备传递给$(el).css()。我结束了写这个小插件来做到这一点:

$.fn.styleAttributeToObject = function () {

var style = $(this).attr('style'),

asObject = {};

if ('string' === typeof style) {

$.each(style.split(';'), function (i, e) {

var pair = e.split(':');

if (2 === pair.length) {

asObject[pair[0]] = pair[1];

}

});

}

return asObject;

};

希望它对其他人有所帮助。

答案 3 :(得分:2)

你也可以自己动手 - 这并不难。 style的{​​{3}}提供了充足的数据:

function getStyles(element) {

var style = element.style;

var ret = {};

for (var i = 0; i < style.length; ++i) {

var item = style.item(i);

ret[item] = style[item];

}

return ret;

}

答案 4 :(得分:1)

你可以从element.style.cssText中获取一个字符串并将其拆分

function styleObject(element){

var obj= {},

str= element.style.cssText.match(/([^:]+\: *[^;]+); */g),

tem, i= 0, ax, L= str.length;

while(i

tem= str[i++].split(/: */);

obj[tem[0]]= tem[1];

}

return obj;

}

//例 -

styleObject(elementreference);

/* value: (Object)

{

display: 'block;',

margin-left: '1ex;',

margin-right: 'auto;',

position: 'relative;',

width: '1193px;',

z-index: '100;',

visibility: 'visible;'

}

但为什么不直接使用cssText字符串作为值?

答案 5 :(得分:-1)

从技术上讲是“单线”(不要这样做)[ES6]

let json = document.querySelector('div').getAttribute('style')

.split(';')

.filter(s => s.length)

.reduce((json, s) => ({ ...json, [s.split(':')[0].trim()]: s.split(':')[1].trim() }), {})

(使用HTML):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pin码计算器网页版_AP微积分Excel简便计算+网页工具指南

今年的AP考试既然是开卷&#xff0c;允许大家使用各种资源。今天一个学生提了一个不(zhe)错(mo)的(wo)想(de)法(shi)。于是给大家写了一个Excel的公式表格照例老规矩&#xff1a;点个”在看“再走呗先说明一下使用指南&#xff1a;文末有下载表格包含&#xff1a;(目前的功能&a…

HTML文本下划线效果,聊聊CSS中文本下划线_CSS, SVG, masking, clip-path, 会员专栏, text-decoration 教程_W3cplus...

在Web中给文本添加下划线常常出现在链接的文本上&#xff0c;早期一般使用text-decoration属性给文本添加下划线、删除线等。除了text-decoration之外&#xff0c;CSS还有很多技术方案可以给文本添加下划线效果&#xff0c;比如border-bottom、box-shadow、background-image等。…

android组建之间通信_Android各组件/控件间通信利器之EventBus

实际项目开发过程中&#xff0c;经常遇到如下场景&#xff1a;不同的应用程序组件的控件间具有一定的相互关联性&#xff0c;其中用户对后者进行的某种操作会引起前者的相应改变。举一个具体的场景&#xff1a;以糗事百科为例&#xff0c;在糗事列表页和详情页页&#xff0c;对…

学员感言html效果图,学员感言丨非计算机专业学员 开始学HTML5的点点滴滴

学员感言丨非计算机专业学员 开始学HTML5的点点滴滴来源&#xff1a;奇酷教育 发表于&#xff1a;2017-08-03 12:09:25在奇酷学员学习HTML5的这段时间里&#xff0c;让我学习到了实用的技能和知识。我是一个非计算机类学生&#xff0c;可以说是对编程一窍不通&#xff0c;在选择…

怎样发量暴增_发量少怎么增加发量 秃发女孩必学发量激増6招

发量少真的是秃发女孩心底的痛&#xff0c;女明星中发量多的代表是范冰冰&#xff0c;范爷的浓密发量令人羡慕不已&#xff0c;发量少的女明星代表就是杨幂&#xff0c;杨幂在三生三世里的后移发际线让网友群嘲不已&#xff0c;下面5号网小编带大家来看一下发量少怎么增加发量&…

html序列符号替换,Html标签替换(过滤掉html特殊符号)

/// ///替换标签&#xff0c;把 <>" 替换为HTML标记/// /// /// public static string returnHtml(stringstr){if (str.Trim() ! ""){str str.Replace("<", "str str.Replace(">", "str str.Replace(" ", …

vue项目导入elementui_在vue项目中使用elementui

如何让你的前端程序看起来很优雅而又简单。最近我做的项目几乎都是管理系统&#xff0c;所以为了节约时间&#xff0c;开始使用ui框架-----elementui。一个简单的管理系统来说&#xff0c;这套ui框架足够使用了&#xff0c;而且对样式的自定义来说&#xff0c;这套ui框架相对于…

42021高考成绩查询北京6一个,北京高考成绩查询时间:6月27日

北京教育考试院发布&#xff1a;2014北京高考成绩将于6月27日公布。本文有出国留学网高考频道为大家搜集整理&#xff0c;希望对大家有所帮助。平行志愿只进行一轮投档从2014年起&#xff0c;北京高招本科志愿设置从“小平行志愿方式”调整为“平行志愿组方式”。本科一批、二批…

tecplot批量导出图片_tecplot使用教程

Tecplot的使用方法之前也零零星星的使用这个软件&#xff0c;但是作图主要还是使用Matlab软件。此次以给文章作图为契机&#xff0c;正好系统的学习一下。Tecplot有多个版本&#xff0c;当前使用的是比较新的Tecplot 360 EX 2018版。搜索到的教程中有Tecplot 360 2010版本的。常…

请领导批阅文件怎么说_请领导吃饭,不要对外说,职场员工为何如此保密?

前一段时间公司员工晋升&#xff0c;因为小王在公司的表现非常不错&#xff0c;所以成为了公司领导的秘书。其实按理来说&#xff0c;成为公司领导的秘书与否&#xff0c;往往只需要看这个员工有没有眼力&#xff0c;看她的办事能力如何&#xff0c;能不能提高公司的整体效率&a…

幼儿使用计算机需要注意事项,儿童玩电脑注意事项

相信现在的家庭里面很多小孩子爱玩电脑&#xff0c;但是电脑玩多了&#xff0c;对孩子眼睛、身体都不好&#xff0c;那么应该怎么才能科学玩电脑呢&#xff1f;妈网百科给大家总结了一些其他家长的经验&#xff0c;希望能够帮得到各位有需要的家长。【与电脑保持距离】孩子与电…

c++实现卷积码编码和维特比译码_鑫艾勒维特家用别墅电梯:安全至上,无可替代...

近年来&#xff0c;随着房地产行业的兴起&#xff0c;家用别墅电梯作为房地产配套产业也逐渐走进了平常家庭别墅中&#xff0c;如今一句俗语“无梯不成墅”将电梯在别墅中的重要地位彰显的淋漓尽致。艾勒维特家用液压小电梯因其适用于私人住宅&#xff0c;适用场景多样等特点&a…

山东高中计算机知识,普通高中信息技术课程标准(2017年版)解读

六、实施建议实施建议主要从教学与评价建议、水平等级考试命题建议、教材编写建议及课程实施建议四个方面展开。(一)教学与评价建议教学建议上&#xff0c;紧密围绕学科核心素养&#xff0c;凸显“学主教从、以学定教、先学后教”的专业路径&#xff0c;具体从领会学科核心素养…

python是一种跨平台、开源、免费的高级动态编程语言吗_python是一种跨平台、开源、免费的高级动态编程语言,对么...

python是一种跨平台、开源、免费的高级动态编程语言&#xff0c;对。python具有简单、易学、速度快、免费、开源、可移植性、可扩展性、丰富的库等优点。python语言极其容易上手&#xff0c;它是一种代表简单主义思想的语言。python是一种跨平台、开源、免费的高级动态编程语言…

html js 打印编辑页眉,js 设置网页打印的页眉页脚和页边距

var HKEY_Root,HKEY_Path,HKEY_Key;HKEY_Root"HKEY_CURRENT_USER";HKEY_Path"//Software//Microsoft//Internet Explorer//PageSetup/";var head,foot,top,bottom,left,right;//取得页面打印设置的原参数数据function PageSetup_temp() {try{var Wshnew Ac…

某个元素的距离页面的左边距_如何提高办公写作效率?先设置好页面上的这4类数据,准没错...

有人说&#xff0c;在体制内混的好&#xff0c;首先要文笔好。这里要说的是&#xff0c;一个文笔好的人&#xff0c;可能在哪里都能混的好。#直言职场#因为很多表达形式都需要以文字做雏形&#xff0c;进而进行各种形式的变换和转化。就拿当下很热门的自媒体行业来说&#xff0…

简述使用计算机对会计工作的影响,简述使用计算机对会计工作的影响。

简述使用计算机对会计工作的影响。更多相关问题[多选] 创新战略的层面有()。[单选] ()是对现有产品、流程、方法的所做的渐进式改善&#xff0c;使得现有产品或功能有进一步的改善、更方便或更为便宜。[单选] ()指组织对竞争者短期内的优缺点及长期力与策略的了解。[单选] ()实…

图像ISP处理——自动曝光AE算法

图像ISP&#xff08;图像信号处理&#xff09;是指对通过摄像头捕捉到的图像进行处理和优化的算法。这些算法旨在改善图像的质量&#xff0c;增强细节&#xff0c;降低噪音等。以下是一些常见的图像ISP算法&#xff1a; 自动白平衡&#xff08;AWB&#xff09;&#xff1a; 调…

地线与接地螺丝_电气接地的规范要求及接地的各项参数,收藏!

申请加入微信群&#xff1a;加微信好友&#xff0c;diangong1968申请格式&#xff1a;城市-公司简称(电气工程师职称)点此去资料库下载本篇资料为了主要目的是保护人身和设备的安全&#xff0c;减少公司电气事故发生&#xff0c;控制公司人员和财产不受损失&#xff0c;所有电气…

html表单提交后显示,javascript – 在表单提交后在页面上显示消息

我有一个包含2个字段的表单(对于此示例),我使用JavaScript验证,如果字段包含数据,则表单将在用户单击“提交”按钮时提交.我在表单标签中使用iframe将输出发送到同一页面.我想做的是在表单下面显示一条消息,说“感谢您的提交”.我很难想出这个部分.function SubmitRentalForm()…