javascript - 遍历 HTMLElement 中的每个 CSS 值,合并 CSS 样式

标签 javascript jquery css

我想创建一个循环,以便遍历元素中定义的所有 CSS 属性。我的目标是创建一个合并两个元素样式的函数。

<span id="a1" style="font-family:verdana;">Hello</span>
<span id="a2" style="font-size:15;">World</span>​

JS 函数看起来像这样:

function mergeStyle (obj,target){
    $.each(test.style.CSSStyleDeclaration,function(){ // This will not work?
       // Add to target
    })
    return;
};

最佳答案

我建议改用类,因为您的需求听起来不是一个好的设计。如果你仍然想要它,这应该有效:

$.fn.mergeCSS = function(other) {
  var $this  = $(this),
      $other = $(other),
      style  = $other.get(0).style;

  $.each(style, function(i, name) {
    $this.css(name, style[name]);
  });

  return this;
};

元素的 .style 属性包含它的样式; CSSStyleDeclaration.style 的构造函数,它不是特定于元素的。

用法:

$("<p style='color:green'>").mergeCSS("<p style='background-color:red'>");
// <p style='color: green; background-color: red; '>

它改变并返回第一个元素。

关于javascript - 遍历 HTMLElement 中的每个 CSS 值,合并 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739664/

相关文章:

javascript - mac safari 中的 Gif 动画卡住

javascript - SharePoint 2010 顶部导航?

javascript - 为什么字符串 "11"小于字符串 "3"?

javascript - Jquery/Javascript 删除 url 字符串中的重复参数

javascript - 如何在JQuery中只触发一次 "ready"?

javascript - Chrome 扩展程序可替换 Gmail 聊天中的文本

Javascript 返回未定义

javascript - 在 Javascript 中格式化为货币

javascript - 如何使用javascript获取包含所有标签和元素值的html页面

html - 如果我设置了我的 div 不透明度,我可以做一些不透明的东西吗?