尝试使用 html 控制台获取元素的样式属性时出错
2017-07-13
479
我正在尝试获取 DOM 中元素的值。 我想获取 style 属性中的“Active”值:
<span ng-class="{'megatable-filter-box-txt-selected' : filter.value.length > 0}" class="ng-binding megatable-filter-box-txt-selected" style="">Active</span>
在控制台上,我尝试通过以下方式获取它:
element = $("[sf-name='stateFilter']")
document.defaultView.getComputedStyle(element)
我收到错误:
Uncaught TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. at <anonymous>:1:22
我做错了什么?获取值的方法是什么?
2个回答
元素中的对象不是元素对象。如果网站包含 jQuery,则它就是 jQuery 对象。
尝试使用:
document.defaultView.getComputedStyle(element[0])
您可以通过将 jQuery 对象视为数组来访问其内的 DOM 元素对象,并使用索引将 DOM 元素对象拉出。
如果该代码有效,则意味着它是一个 jQuery 对象,其中至少有 1 个 DOM 元素与选择器匹配。
James Hunt
2017-07-13
parameter 1 is not of type 'Element'.
此方法需要对 DOM 元素的引用,但您传入了一个 jQuery 对象。
您需要先通过 jQuery 获取对您选择的 DOM 元素的引用,例如,只需使用索引即可完成:
document.defaultView.getComputedStyle(element[0])
CBroe
2017-07-13