jQuery,将CSS类转换为对象

标签 jquery

我正在尝试将普通的 css 标记转换为对象:

.btn {
  border-radius: 28px;
  padding: 10px 20px 10px 20px;
  border:1px solid #000;
}

所以就变成了

var btn = {
  "border-radius": "28px",
  "padding": "10px 20px 10px 20px",
  "border":"1px solid #000",
};

然后我可以将它与 jquery css 函数一起使用来设置其他元素的样式

$(".el").css(btn);

我尝试过使用 JSON.parse()JSON.stringify(),但没有成功。

最佳答案

你为什么不简单地这样做:

$(".el").addClass("btn");

如果您想继续采用您建议的方法,那么您可以执行以下操作:

var btn = `{
  border-radius: 28px;
  padding: 10px 20px 10px 20px;
  border:1px solid #000;
}`;

formattedBtn = btn.split("\n");
/* Remove first element and last element as they are 
{ and } */
formattedBtn.pop();
formattedBtn.shift();

var obj = {};
formattedBtn.forEach(
  (el) => {
    let proerty = el.split(":");
    obj[proerty[0].trim()] = proerty[1].trim().replace(/;/g, "");
  }
)

console.log(obj);

$(function(){
  $("#but").css(obj);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="but">My Button</button>

关于jQuery,将CSS类转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48717536/

相关文章:

javascript - 用于清除 Silverlight 应用程序存储的脚本方法?

javascript - 为具有相同文件夹的 URL 路径调用 jQuery 函数

javascript - 我不明白 jQuery .each() 和 .html() 方法是如何工作的

php - 从动态创建的字段中获取值并通过 Ajax 将它们发送到 PHP

javascript - 在带有纹理的圆形路径上 Canvas 水/ Blob 物理?

javascript - 如何制作div slidedown

javascript - jQuery 切换显示 css 属性

javascript - if 内有多个组合的 if

jquery - 使用 .text() 仅检索未嵌套在子标签中的文本

Javascript 嵌套的 .each() 函数