<style>
*{
box-sizing: border-box;
}
html, body {
margin: 0px;
width: 100%;
height: 100%;
overflow: hidden;
}
.main{
width: 600px;
height: 300px;
margin: 0 auto;
background: #999;
}
#p1{
padding: 10px 20px;
} </style>
<div class="main" id=main>
东方红 的事发后 沙发上好厉害多个从V型从一瓶酒发送到发送到
<p id=p1>sdfldsnfdsnldfsn fnsdfsdlknfsdflndslfsdn</p>
</div>
<script>
/**
* JS获取 dom样式的几种情况
* 一:获取元素的行内样式
* 二:获取计算后的样式
* 三:获取<link>和<style>标签写入的样式
* 四、获取元素的实际大小
1. clientWidth和clientHeight
这组属性可以获取元素可视区的大小,
可以得到元素内容及内边距所占据的空间大小。
返回了元素大小,但没有单位,默认单位是px,如果你强行设置了单位,
比如100em之类,它还是会返回px的大小。(CSS获取的话,是照着你设置的样式获取)。
对于元素的实际大小,clientWidth和clientHeight理解方式如下:
a. 增加边框,无变化;
b. 增加外边距,无变化;
c. 增加滚动条,最终值等于原本大小减去滚动条的大小;
d. 增加内边距,最终值等于原本大小加上内边距的大小;
##注意:当box-sizing属性值是border-box的时候上述abcd不成立
*
*/
//1 定义获取dom的函数
function getDom(str){
return document.querySelector(str);
}
//2 、定义获取
function getStyle(dom){
var style=null;
window.getComputedStyle?style=window.getComputedStyle(dom):style=dom.currentStyle;
return style;
}
var dom1=getDom('#main');
console.log(dom1.clientWidth);// 得到的是没带px的数字
var domstyle=getStyle(dom1);// 字符创的宽度带px 和上面的clientWidth实质上是一样的
console.log(domstyle.width); //p 的宽度
var dom2=getDom('#p1');
console.log(dom2.clientWidth);
console.log(getStyle(dom2).width);
</script>

JS获取元素属性的更多相关文章

  1. JS获取元素属性和自定义属性

    获取元素的属性分为两种类型: 1-获取元素常见的属性(class,id,type,value……) 2-获取自定义的元素的属性(data-value,data-mess…….) 获取元素的属性,设置元 ...

  2. js获取元素属性值为空的原因和解决办法

    问题描述:js获取某元素的属性值为空 代码: <!-- css定义在head中 --> <style> #box{ width: 100px; height: 100px; b ...

  3. JS获取元素属性、样式getComputedStyle()和currentStyle方法兼容性问题

    1. getComputedStyle()  方法获取到的是经过计算机/浏览器计算后的样式 getComputedStyle($("#div")).width; 兼容性:IE6 7 ...

  4. JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)

    JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性) 以下内容: 一.获取元素的属性 二.设置元素的属性 三.删除元素的属性 一.获取元素的属性 1-原生JS 获取属性 .ge ...

  5. js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...

  6. JS中获取元素属性的逆天大法

    给大家聊下js中获取元素属性的逆天大法,胆小慎入,切记切记!!! innerHTML.outerHTML.innerText .outerText.value.text().html(),val() ...

  7. Js获取元素样式值(getComputedStyle&currentStyle)兼容性解决方案

    因为:style(document.getElementById(id).style.XXX)只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的. 一般js获取内部样式和外部样式使用 ...

  8. 【全面总结】js获取元素位置大小

    [js获取元素位置+元素大小]全面总结 目录 1.关于offset offsetParent(只读) offsetTop(只读) offsetLeft(只读) offsetHeight(只读) off ...

  9. JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器

    今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom    想用jquery  必须先引入(顺序问题)        先css 再js:   ...

随机推荐

  1. 2018宁夏邀请赛网赛 I. Reversion Count(java练习题)

    题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion c ...

  2. 安装fastdfs文件系统

    1.下载源码包 需要下载的源码包: fastDFS源代码:FastDFS_v5.01.tar.gz fastDFS的nginx模块源代码:fastdfs-nginx-module_v1.15.tar. ...

  3. Shell - 简明Shell入门08 - 函数(Function)

    示例脚本及注释 #!/bin/bash function Check() # 使用function定义函数 { Say # 通过函数名直接调用函数 if test $1 then return 0 # ...

  4. 【xsy2818】 最近点 动态树分治+可持久化线段树

    题目大意:给你一颗n个节点的树,最初点集S为空. 有m次操作:往当前点集S中加入/删除一个点,询问点x至集合S中任意点的最小距离,回到第t次修改点集的操作后的状态. 数据范围:$n,m≤10^5$ 我 ...

  5. C#枚举中使用Flags特性

    .NET中的枚举我们一般有两种用法,一是表示唯一的元素序列:还有就是用来表示多种复合的状态.这个时候一般需要为枚举加上[Flags]特性标记为位域,这样我们就可以用"或"运算符组合 ...

  6. 前端基础——html

    前端基础——html 在用CSS布局页面的时候,我们会将HTML标签分成两种,块级元素和内联元素(我们平常用到的div和p就是块级元素,链接标签a就是内联元素) 块级(行级)标签 和 内联标签 块级元 ...

  7. DockPanel与GeckoFX、ChrominumFX、CefSharp结合使用问题

    在使用DockPanel与ChrominumFx时,当在以下条件下拖动窗体时,会发生ChromiumWebBrowser崩溃的情况,此种情况也会在DockPanel与GeckoFX或CefSharp结 ...

  8. HuLu机器学习问题与解答系列(1-8)

    声明:本系列文章转载自微信公众号HULU,本人只是搬运工,仅供学习,如有不妥,后续告知删除. 嗨,欢迎回来,希望你能保持定期回顾的好习惯噢!下面是Hulu机器学习问题与解答系列的前8篇内容,点击主题名 ...

  9. Git for Windows之推送本地版本库到远程仓库

    Git for Windows之基础环境搭建与基础操作中介绍了Git基本环境的构建与基本的操作.生成了一个本地git版本库,本文将介绍如何将这个版本库推送到远程仓库(码云,github也可以). 1. ...

  10. Kafka中的zookeeper-shell.sh

    连接 zookeeper bin/zookeeper-shell. 常用命令 connect host:port get path [watch] ls path [watch] set path d ...