js 用getElementsByTagName怎么获取其中一个元素的style

如题所述

步骤:

1、通过getElementsByTagName获取节点数组

2、通过节点数组获取某个节点

3、通过节点.style获取元素的style

示例:

<html>
<body>
<p>测试-一个测试的节点P</p>  
</body>
<script>
 var parr = document.getElementsByTagName('p');//通过标签名称p获取P的节点数组
 if(parr.length>0){//如果获取到了节点
    var s = parr[0].style;//parr[0]表示取第一个的样式,赋值给s
    s.background='blue';//如果根据s能够操作说明获取成功
 }
</script>
</html>

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-30

<intput type="text" name="vv" value="" style="height:100px;"/>
<script>
    var h=document.getElementsByTagName("input")[0].style.height;
    aler(h)
</script>

追问

如果我不直接指定input的height,而是想获取这个input被页面渲染之后的实际height怎么办?

追答

这个是要经过computed来计算,样式 有两种一种是内联一种是外接。js直接取得的是内联样式。如果在外面的,你要用computed方法来得到。

var getStyle = function(el, style){
 return  document.defaultView ? document.defaultView.getComputedStyle(el, null).getPropertyValue(style): el.currentStyle[style];
};

 可以用这个方法 得到写法其实也很简单。

还有一种方法 就是用 jquery框架。那个就简单多了、

载入jquery.

然后直接 $("input").css("height")

追问

嗯嗯,谢谢大神,正想着搜搜兼容ff和ie的getstyle,非常感谢

本回答被提问者和网友采纳
相似回答