怎么用js获取div的当前宽度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用js获取div的当前宽度?相关的知识,希望对你有一定的参考价值。
比如一个div的id设成box,宽度设成100%,会根据屏幕大小自动适应宽度,怎么获取当前的宽度然后赋给高度?
第一种情况就是宽高都写在样式表里,就比如#div1width:120px;。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。(什么是行内,就是直接在html标签上写样式)
小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过id.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。
代码:
var o = document.getElementById("view");var h = o.offsetHeight; //高度var w = o.offsetWidth; //宽度
扩展资料:
js编程:
javascript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。而其解决办法就是于使用trycatch()。
Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部份多数用Javascript撰写(而SpiderMonkey是用C++)。
因此,在不同的测试上,两者性能互有优劣。与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。
参考资料:javascript_百度百科
参考技术A分析如下:
运用js获取div宽度,原生JS获取DIV的属性有两种方法,js 获取方法命令如下:
currentStyle和getComputedStyle,前者是兼容IE端的,后者也兼容W3C,两者内核不同,所以就有两种兼容的写法。
如果只是单独的获取某个属性值可以这样写:
obj.currentStyle[属性名];这种不兼容-webkit-内核的,
所以一般是封装成一个函数可以到处调用,而且不止针对某个属性值。
function getStyle(obj,styleName)if(obj.currentStyle)return obj.currentStyle[styleName];elsereturn getComputedStyle(obj,null)[styleName];
语法
parseInt(string, radix)
参数 描述
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
如果它以“0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
上面是封装好一个函数,可以直接调用。
DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。DIV在编程中又叫做整除,即只得商的整数。 DIV元素是用来为HTML(标准通用标记语言下的一个应用)文档内大块(block-level)的内容提供结构和背景的元素。
扩展资料
<div> 是一个块级元素。这意味着它的内容自动地开始一个新行。实际上,换行是 <div> 固有的特定的格式表现。可以通过 <div> 的 class 或 id 应用额外的样式。
不必为每一个 <div> 都加上类或 id,虽然这样做也有一定的好处。
可以对同一个 <div> 元素同时应用 class 和 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的特定的元素。
资料来源:百度百科:div
参考技术B运用js获取div宽度,原生JS获取DIV的属性有两种方法,js 获取方法命令如下:
currentStyle和getComputedStyle,前者是兼容IE端的,后者也兼容W3C,两者内核不同,所以就有两种兼容的写法。
如果只是单独的获取某个属性值可以这样写:
obj.currentStyle[属性名];这种不兼容-webkit-内核的,
所以一般是封装成一个函数可以到处调用,而且不止针对某个属性值。
function getStyle(obj,styleName)if(obj.currentStyle)return obj.currentStyle[styleName];elsereturn getComputedStyle(obj,null)[styleName];上面是封装好一个函数,可以直接调用。
DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。DIV在编程中又叫做整除,即只得商的整数。 DIV元素是用来为HTML(标准通用标记语言下的一个应用)文档内大块(block-level)的内容提供结构和背景的元素。
参考技术C需要用到getComputedStyle方法和currentStyle对象(为了兼容IE)。
<!-- 结构代码 --><div id="h5courseCom">js获取元素的当前宽度</div>
<script type="text/javascript">
var h5courseEle = document.getElementById('h5courseCom');
/*
* 功能:获取渲染后标签的样式,element是标签的对象,property是标签样式属性值
* 参数:element是元素对象,property是样式属性
* demo:getStyle(move, "marginLeft");
* author:HTML5学堂
*/
function getStyle(element, property)
var proValue = null;
if (!document.defaultView)
proValue = element.currentStyle[property];
else
proValue = document.defaultView.getComputedStyle(element)[property];
return proValue;
console.log(getStyle(h5courseEle, 'width'));
alert(getStyle(h5courseEle, 'width'));
</script>
Tips:最终获取出来的值包含了px的单位,可以用parseInt()方法把px单位去除掉,直接获取到数值。
参考技术D var ele=document.getElementById("这里填写你dom元素的id");var eleH=ele.clientHeight;
怎么用js获取div里面的文字段的文字数?
<div id="div1">aaaaaaaaaaaaaaaaaa</div>var str=document.getElementById("div1");
alert(str.length);
str.length即文字的文字数
参考技术A <div id="div1">sdfd斯蒂芬森的</div>vat testLength = document.getElementById('div1').value.length; 参考技术B <div id='div1'>asadsafas</div>
<script>
var div=document.getElementById("div1").value;
alert(div.length);
</script>本回答被提问者和网友采纳 参考技术C <script>
var div=document.getElementById("DIV_ID").value;
document.write(div.lenght)
</script> 参考技术D <div id='div1'>asadsafas</div>
<script>
var divHtml=document.getElementById("div1").innerText; //获取html内容
alert(divHtml.length);
var divText=document.getElementById("div1").innerText; //获取text文本内容
alert(divText.length);
</script>
以上是关于怎么用js获取div的当前宽度?的主要内容,如果未能解决你的问题,请参考以下文章