怎么用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的当前宽度?的主要内容,如果未能解决你的问题,请参考以下文章

div中 宽度是百分比显示的,怎么在js中获取这个宽度呢?

怎么用js写一个div的宽度发生改变的事件 比如随浏览器窗口大小改变而改变

js实现字数超出宽度自动显示省略号?

怎么用js获取div里面的文字段的文字数?

Android开发中怎样获取WebView的内容宽度高度

兄弟们!怎么用JS JS JS 获取当前元素的第一级子元素?