js中关于获取元素属性的方法(object.style.width)
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><style...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#div{width: 100px;background: #f00;height: 100px;}
</style>
</head>
<body>
<script type="text/javascript">
function a(){
var w=document.getElementById('div');
w=w.style.width;
alert(w);
}
</script>
<div id="div" onclick="a()"></div>
</body>
</html>
为什么这个弹出的是 空白? 不应该是这样用的吗? 展开
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#div{width: 100px;background: #f00;height: 100px;}
</style>
</head>
<body>
<script type="text/javascript">
function a(){
var w=document.getElementById('div');
w=w.style.width;
alert(w);
}
</script>
<div id="div" onclick="a()"></div>
</body>
</html>
为什么这个弹出的是 空白? 不应该是这样用的吗? 展开
2015-09-22
展开全部
改成w=w.offsetWidth;
js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。
小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过id.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。
js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。
小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过id.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。
2015-09-22
展开全部
js获得的是dom的内链样式,无法获得ID上的样式,你直接写在div的内链样式上就可以获得。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样写是拿不到的,火狐浏览器或者谷歌浏览器已经可以拿到,ie不行;
只有把样式写到div的style元素里 才可以;
</head>
<body>
<script type="text/javascript">
function a(){
var w=document.getElementById('div');
w=w.style.width;
alert(w);
}
</script>
<div id="div" onclick="a()" style="width: 100px;background: #f00;height: 100px;"></div>
如果想拿到,可以用jquery这类框架;
只有把样式写到div的style元素里 才可以;
</head>
<body>
<script type="text/javascript">
function a(){
var w=document.getElementById('div');
w=w.style.width;
alert(w);
}
</script>
<div id="div" onclick="a()" style="width: 100px;background: #f00;height: 100px;"></div>
如果想拿到,可以用jquery这类框架;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询