
js获取对象中没有的属性解决办法,Js获取元素样式值(getComputedStyle¤tStyle)兼容性解决方案tyle(documentgetElementById(id)styleXXX)只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的 一般js获取内部样式和外部样式使用
您好,使用原生js获取
一、getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值,
返回的是一个CSS样式声明对象 , 只读, 此方法支持Firefox浏览器;
语法:var style=windowgetComputedStyle(“元素”,“伪类”);第一个参数是必须的,第二个为可选的。
二、currentStyle 是一款可以兼容IE浏览器的属性返回的是当前所有最终使用的CSS属性值,
利用elementCurrentStyleattribute可获取
其与getComputedStyle区别:1、 currentStyle不支持伪类样式获取;
2、currentStyle不支持现代浏览器,支持IE
原生JS中如何获取CSS属性中的值
可以直接用name这个属性取到的name的值。下面是个小例子。仅供参考:
<body>
<div id="div" name="div" style="width:100px; height:100px; background:#ccc;"></div>
</body>
<script>
var oDiv = documentgetElmentById('div');
oDivonclick=function(){
alert(oDivname); //这个时候填出 div
};
</script>
第一步:首选需要获取element元素,有很多种方法getElementById("")(只能获取单一dom元素)想要获取元素集合请使用getElementsByName("")
第二步:设置属性-elementsetAttribute("属性名称","属性值");获取属性-elementgetAttribute("属性名称");
用js如何获取div中css的
margin、padding、height、border等。你可能说可以直接用documentgetElementById("id")stylemargin获取。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性)。而下面方法则两者值都可以获取。
实例效果图如下:
js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点。
getStyle(obj,attr)
调用方法说明:obj为对像,attr为属性名必须兼容js中的写法(可以参考:JS可以控制样式的名称写法)。
Js代码
复制代码
代码如下:
function
getStyle(obj,attr){
var
ie
=
!+"\v1";//简单判断ie6~8
if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition写法,识别backgroundPositionX/Y
if(ie){
return
objcurrentStylebackgroundPositionX
+"
"+objcurrentStylebackgroundPositionY;
}
}
if(objcurrentStyle){
return
objcurrentStyle[attr];
}
else{
return
documentdefaultViewgetComputedStyle(obj,null)[attr];
}
}
以上就是关于js获取对象中没有的属性怎么办全部的内容,包括:js获取对象中没有的属性怎么办、原生JS中如何获取CSS属性中的值、javascript怎么获得元素的name属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)