嗨,我是沐晴,今天来说说JS中关于获取属性的一些方法和区别。闲话不说,来正题。

首先什么是属性呢,比如input标签,标签中的value id type style等,这些就是属性。我们JS获取属性一般有三种方法:

  1  通过点的方式

2 通过括号的形式

    3 通过 DOM的方式

通过栗子说明:

<input type="text" value="hello" id="text"/>
var oText = document.getElementById("text")

1  通过点的方式    oText.value

需要注意的是:

1  点要查找的是JS中本来就存在的属性名,不能找到变量或者函数的参数。比如下面

增加代码:
var name = "value"
oText.name
//这种方式访问就会出错,因为点的方式访问,它会去input的标签里面直接到有没有name的属性,如果没有就找不到,所以访问不到我们定义的这个变量的值
//而且如果name是某个函数的参数也不可以获取到,原理是一样的。所以封装函数属性需要作为参数的时候,访问的时候不要用点,用括号

2  标准浏览器下无法访问html中的自定义属性,可以获取通过JS参加的自定义属性

3  无法获取相对网址  比如img.src  获取的只是绝对路径

2 通过括号的形式   oText.value

1可以访问任何变量,也可以访问参数

2  标准浏览器下无法访问html中的自定义属性,可以获取通过JS参加的自定义属性(同上)

3  无法获取相对网址  比如img.src  获取的只是绝对路径(同上)

3 通过DOM的方式

  涉及到三个方法

获取属性的值:getAttribute(属性名) oText.getAttribute('value')
设置属性的值:setAttribute(属性名, 要设置的值) oText.setAttribute('value','hello')
删除:removeAttribute(属性名) oText.getAttribute('value')

相比于上面的优势:

1 可以获取html中自定义的属性

2 获取的是相对网址,不过 IE7以下还是绝对网址

3 IE下可以通过style访问

<input type='text' style='width:100px;' />
var oText = document.getElementById("text")
//IE下可以这样用:oText.style.getAttribute('width') 标准浏览器不可以

一般情况下,用第三种方法的时候并不多,所以能用简单的方法就用简单的,按需要使用。。。。

JS之获取属性总结的更多相关文章

  1. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

  2. Thymleaf js直接获取后台传过来的对象或者对象的属性以及map

    简单说明:第一次接触thymleaf模板,对于thymleaf在js中如何获取后台传递过来的值,真的挺简单的,记住就行了 代码: 后台代码: //传递一个org对象给jspublic String t ...

  3. js中获取css样式属性值

    关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...

  4. js获取属性

    js获取属性的方法: document.getElementById(); document.getElementsByTagname(); document.getElementsByClassna ...

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

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

  6. js中attr 与find 获取属性值,

    一.attr的用法 1. attr(属性名)        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 und ...

  7. js原生获取css属性

    原文参考http://blog.csdn.net/lzding/article/details/46317777 1.写在dom上的属性,内联样式 <div id="box" ...

  8. js 获取属性名称,再根据这个属性名获取值

    if (result.success) { var obj = JSON.parse(result.data); var sltObj = document.getElementById(" ...

  9. 通过JS给HTML元素增加、删除和获取属性内容

    1.通过ID或者其他元素找到要处理的HTML对象:(举例通过ID) var obj=document.getElementById('id');12.操作此对象 添加属性:obj.setAttribu ...

随机推荐

  1. ORACLE 10升级到10.2.0.5 Patch Set遇到的内核参数检测失败问题

    在测试ORACLE 10.2.0.4升级到10.2.0.5 Patch Set的过程中,遇到一个内核参数检查失败的问题,具体错误信息如下所示   实验环境: 操作系统:Oracle Linux Ser ...

  2. QT学习第1天

    QT学习第一天  坚持住!! 一 Qt概述 1.Qt发展历史 (1)1991年诞生(Haavard Nord/Eirik Chambe-Eng), (2)1994年创立Troll Tech(奇趣科技) ...

  3. LINUX运维实战案例之文件已删除但空间不释放问题的分析与解决办法

    1.错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实没有空间了,如下图所示: 这里首先说明一下服务器的一些删除策略,由于Linux没有回收站功能,我们的线上服务器所 ...

  4. mysql 错误 1221 Incorrect usage of union and order by

    今天有个项目出现了问题 问题原因是union和order by 的问题.关于这个问题的解决方案可以猛击下面的链接. http://blog.csdn.net/gtuu0123/article/deta ...

  5. 解决Qt在openSUSE上编译出现“cannot find -lGL”错误

    在openSUSE上编译QT5.4程序出现“cannot find -lGL”,就连example都无法通过编译.QT是在官网下的最新的安装包. 大体意思是,缺少qt运行时所需要的openGL库.决绝 ...

  6. 遇到一位ITer,一位出租车司机,必看。

    百木-ITer职业交流 群-北京 :141588103 今天去用户那,一个政府的事业单位.       遇到一位ITer,B同学,一个行业的,和他们公司既是合作关系,又是竞争关系.最近我们接了该单位的 ...

  7. 应用程序Cache对象到高性能Memcached学习之路

    来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache, ...

  8. Vijos1451圆环取数[环形DP|区间DP]

    背景 小K攒足了路费来到了教主所在的宫殿门前,但是当小K要进去的时候,却发现了要与教主守护者进行一个特殊的游戏,只有取到了最大值才能进去Orz教主…… 描述 守护者拿出被划分为n个格子的一个圆环,每个 ...

  9. Unity Ragdoll(布娃娃系统)

    逼真的动作如何实现的? 在一些游戏中当NPC或玩家死亡的时候,死亡的肢体动作十分逼真,这一物理现象如何用Unity来实现呢?Unity物理引擎中的Ragdoll系统,可以用来创建这种效果,具体请参阅以 ...

  10. 记录mysql的具体操作明细

    在MySQL中使用init-connect与binlog来实现用户操作追踪记录 2014-07-28 20:55:38 分类: MySQL 前言:测试环境莫名其妙有几条重要数据被删除了,由于在binl ...