【问题标题】:store attr style in a variable将 attr 样式存储在变量中
【发布时间】:2016-07-14 23:53:33
【问题描述】:

有没有办法使用 JS 将样式属性存储在变量中?

我试过这个example

<div style="width: 100px; height: 100px; background: cyan"></div>

var style = 'style="' + $("div").attr('style') + '"';
    alert(style);

【问题讨论】:

  • 你想要达到什么目的,因为这样可以正确获取样式字符串,例如 width: 100px; height: 100px; background: cyan

标签: javascript variables styles attr


【解决方案1】:

您是否按照此处显示的代码在您的网站上尝试此操作?如果是这样,它可能会返回 undefined,因为页面上存在多个“div”。尝试给有问题的 div 一个 ID,并将 JS 从 $('div') 更改为 $('#whateveridyouchose')。

尝试此代码以排除图像的可用性问题:

$(document).ready (function () {
  var style = 'style="' + $("selectorofimage").attr('style') + '"'; alert(style);
});

【讨论】:

  • 其实是一张图片,元素的路径不错。问题可能是脚本运行时未加载图像。
  • 这肯定会导致未定义,您可以将 JS 包装在 document.ready 函数中以排除这种可能性。为了确认,上面的 JS 将返回显式分配给相关 DOM 元素的样式。由于您的用例是图像,我想知道您是否正在尝试获取图像本身的尺寸,而不是样式属性?只是想确认你在找对树。
  • 图片的样式只包含定位和尺寸属性。我将该脚本包装在onAvailable() 函数中,它仍然返回未定义。
  • 在上面编辑了我的答案,尝试使用该代码而不是 onAvailable 函数...假设图像在您的标记中并且在通过 AJAX 或其他方式加载页面后未添加。这应该返回在图像本身上内联设置的任何样式。
【解决方案2】:
var style = 'style="' + document.getElementsByTagName('div')[0].getAttribute('style') + '"';

是您的示例的纯 JavaScript 版本。

【讨论】:

  • 如果把 JS 放到我的网站上会显示 style="undefined"
猜你喜欢
  • 2017-07-04
  • 2021-06-22
  • 2013-04-18
  • 2017-04-04
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
相关资源
最近更新 更多