margin、padding、height、border等。你可能说可以直接用document.getElementById("id").style.margin获取。但是你说的只能获取直接在标签中写的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
obj.currentStyle.backgroundPositionX
+"
"+obj.currentStyle.backgroundPositionY
}
}
if(obj.currentStyle){
return
obj.currentStyle[attr]
}
else{
return
document.defaultView.getComputedStyle(obj,null)[attr]
}
}
通过查询属性获取:$('element').attr('id')定义和用法
attr() 方法设置或返回被选元素的属性值。
根据该方法不同的参数,其工作方式也有所差异。