使用javascript从css文件获取元素的样式
我想用javascript从css文件中获取元素的样式。但是,我只能在javascript上获取输入样式属性的元素。我试着用这种方法来解决这个问题使用javascript从css文件获取元素的样式,javascript,css,angularjs,Javascript,Css,Angularjs,我想用javascript从css文件中获取元素的样式。但是,我只能在javascript上获取输入样式属性的元素。我试着用这种方法来解决这个问题 angular.element(document.getElementById("box")).css("width") 没用。之后,我试着这样做 document.getElementById("box").style 但它不起作用。我如何才能做到这一点?这不是一个角度问题,而是CSS和Javascript如何交互。您需要使用getComput
angular.element(document.getElementById("box")).css("width")
没用。之后,我试着这样做
document.getElementById("box").style
但它不起作用。我如何才能做到这一点?这不是一个角度问题,而是CSS和Javascript如何交互。您需要使用
getComputedStyle
来读取CSS文件中定义的样式属性
//这将起作用(因为它是一种内联样式)
log(document.getElementById('a').style.width)
//这不起作用(因为样式是在css中定义的):
log(document.getElementById('b').style.width)
//无论源是什么,getComputedStyle都可以工作:
console.log(window.getComputedStyle(document.getElementById('b')).width)
#b{宽度:100px}
A
B
这不是一个角度问题,而是CSS和Javascript如何交互的问题。您需要使用getComputedStyle
来读取CSS文件中定义的样式属性
//这将起作用(因为它是一种内联样式)
log(document.getElementById('a').style.width)
//这不起作用(因为样式是在css中定义的):
log(document.getElementById('b').style.width)
//无论源是什么,getComputedStyle都可以工作:
console.log(window.getComputedStyle(document.getElementById('b')).width)
#b{宽度:100px}
A
B
除非设置了css模板规则值,否则无法获取调用样式属性的元素的css模板规则值
*1.在html元素级别使用内联样式;或
*2.style属性已使用JavaScript设置
其作用相同:写入目标元素的内联html样式属性
解决方案是改用计算样式:
如:
getComputedStyle(框,0).width
除非设置了样式属性,否则无法获取调用样式属性的元素的css模板规则值
*1.在html元素级别使用内联样式;或
*2.style属性已使用JavaScript设置
其作用相同:写入目标元素的内联html样式属性
解决方案是改用计算样式:
如:
getComputedStyle(框,0).width
这可能是因为您正在搜索尚未加载到DOM中的元素。尝试将代码添加到angular.element(document.ready)(函数(){document.getElementById(“box”).style});document.getElementById(“box”).style.width是您想要的,我不能使用“ready function”,因为我不使用jquery@这可能是因为您正在搜索尚未加载到DOM中的元素。尝试将代码添加到angular.element(document.ready)(函数(){document.getElementById(“box”).style});document.getElementById(“box”).style.width是您想要的,我不能使用“ready function”,因为我不使用jquery@Pravenalluri