需要做特殊处理的DOM元素属性的访问

代码如下:

var props = {
  'for' : 'htmlFor',
  'class': 'className',
  readonly: 'readOnly',
  maxlength: 'maxLength',
  cellspacing: 'cellSpacing',
  rowspan: 'rowSpan',
  colspan: 'colSpan',
  tabindex: 'tabIndex',
  usemap: 'useMap',
  frameborder: 'frameBorder'
}

说点题外话,用json格式来创建对象的话,建议属性不需要单引号或者双引号,除非一些ecmascript的关键词,比如上面的'for','class'等,建议平时还是用
单引号,到不是说单引号一定就比双引号更好,更符合规范,但是一种习惯还是很重要的,不要在代码中即出现单引号又出现双引号的。
举个简单的例子:


代码如下:

<label for="username" id="test">name:</label><BR><input type="text" id="username" name="username"/><BR>

假如你想直接通过elem.propertyName这样的访问方式来得到某个DOM元素的某个属性值,对于上面的属性访问你就必须做个简单的变化,

例如上面的这个例子,你想得到label的for属性值。


代码如下:

var ele = document.getElementById('test');
var val = ele.htmlFor;
//或者
val = ele['htmlFor'];
//通过标准的DOM方法访问的话,就不需要做特殊处理了
val = ele.getAttribute('for');
val = ele.getAttributeNode('for').value;

同样对于class,readonly等的访问,上面的几种访问方式也一样适合。

个人觉得直接通过属性访问或许会比通过DOM方法访问要快些。
下面的文章会再对特殊属性的访问做介绍。

(0)

相关推荐

  • jQuery学习3:操作元素属性和特性

    先看一个例子: 复制代码 代码如下: <a id="easy" href="#">http://www.jb51.net</a>现在要得到a标签的属性id.有如下方法: 复制代码 代码如下: jQuery("#easy").click(function() {     alert(document.getElementById("easy").id); //1     alert(this.id); /

  • jQuery第三课 修改元素属性及内容的代码

    1. 操作属性 上文介绍了如何筛选到需要的元素.得到了元素之后就要对其进行操作.一个常见的需求是遍历得到的元素集,对每一个元素进行一个操作.jQuery提供的函数是 each(iterator),其中iterator是一个函数,接受一个整数作为参数,表示第几个元素.看一个简单的例子. 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery Operatio

  • 用js获取元素属性的代码

    获取元素属性 // [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • javascript 三种方法实现获得和设置以及移除元素属性

    以下面的html为例 复制代码 代码如下: <div id="myDiv" class="bd" title="我是div"> <img id="img1" /> <a id="myA" href = "http://www.baidu.com">百度</a> </div> 1.通过HTMLElement类型(对象)的属性获得和

  • juqery 学习之三 选择器 可见性 元素属性

    :hidden 匹配所有的不可见元素,input 元素的 type 属性为 "hidden" 的话也会被匹配到 Matches all elements that are hidden, or input elements of type "hidden". 返回值 Array<Element> 示例 查找所有不可见的 tr 元素 HTML 代码: <table>  <tr style="display:none"&

  • jscript与vbscript 操作XML元素属性的代码

    Although attributes belong to a particular element, they are not considered child nodes of element nodes. Instead, they behave more like properties of IXMLDOMElement. Most of the methods for working with attributes come from IXMLDOMElement. Attribute

  • javascript 对象属性property与元素属性attribute的浏览器支持

    var div = document.getElementById('myId'); div.userProperty = 'test2'; alert(div.attributes.length); // IE6/7/8 -> 4 , [id,class,userAttribute,userProperty] // IE9/FF -> 3, [id,class,userAttribute] alert(div.userAttribute); // IE6/7/8 -> 'test1'

  • 需要做特殊处理的DOM元素属性的访问

    复制代码 代码如下: var props = { 'for' : 'htmlFor', 'class': 'className', readonly: 'readOnly', maxlength: 'maxLength', cellspacing: 'cellSpacing', rowspan: 'rowSpan', colspan: 'colSpan', tabindex: 'tabIndex', usemap: 'useMap', frameborder: 'frameBorder' } 说

  • 处理及遍历XML文档DOM元素属性及方法整理

    用于处理XML文档的DOM元素属性 复制代码 代码如下: childNodes:返回当前元素所有子元素的数组: firstChild:返回当前元素的第一个下级子元素: lastChild:返回当前元素的最后一个子元素: nextSibling:返回紧跟在当前元素后面的元素: noedValue:指定表示元素值的读/写属性: parentNode:返回元素的父节点: previousSibling:返回紧邻当前元素之前的元素: 用于遍历XML文档的DOM元素方法 复制代码 代码如下: getEle

  • 快速解决js动态改变dom元素属性后页面及时渲染的问题

    今天实现一个进度条加载过程,dom结构其实就是两个div <div class="pbar"> <div class="ui-widget-header" id="percent_bar" style="width: 23%;"></div> </div> 控制里层div的宽width属性,就能实现进度条往前走的效果. 我的进度条是显示下载文件的进度,简单实现一共100个文件的话

  • 详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法

    jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的元素中移除指定的属性. attr()方法 读操作 attr()读操作. 读取的是匹配元素中第一个元素的指定属性值. 格式: .attr(attributeName),返回值类型:String.读取不存在的属性会返回undefined.   注意选择器的选择结果可能是一个集合,这里仅仅获取的是集合中第一个元素的该属性值. 看例子: 复制代码 代码如下: <!DOCTYPE html>

  • JavaScript DOM元素常见操作详解【添加、删除、修改等】

    本文实例讲述了JavaScript DOM元素常见操作.分享给大家供大家参考,具体如下: DOM概念 DOM(Document Object Model):文档对象模型. 通过开发者工具的Elements标签页可以查看 通过开发者工具的Sources标签页也可以观察到整个文档是有一系列节点 整个文档是由一系列节点对象组成的一棵树. 节点(Node)包括元素节点(1).属性节点(2).文本节点(3)(1..2..3..代表节点类型)_ var th1= document.getElementByI

  • vue获取DOM元素并设置属性的两种实现方法

    这里我想到了2个方法: 方法一: 直接给相应的元素加id,然后再document.getElementById("id");获取,然后设置相应属性或样式 方法二: 使用ref,给相应的元素加ref="name" 然后再this.$refs.name获取到该元素 注意:在获取相应元素之前,必须在mount钩子进行挂载,否则获取到的值为空, 如果是给子组件加id并修改自定义属性,则直接会加载改子组件对应的外层div上,并不会改变该子组件原本的自定义属性的值 如果给子组件

  • JS中DOM元素的attribute与property属性示例详解

    一.'表亲戚':attribute和property 为什么称attribute和property为'表亲戚'呢?因为他们既有共同处,也有不同点. attribute 是 dom 元素在文档中作为 html 标签拥有的属性: property 是 dom 元素在 js 中作为对象拥有的属性. 从定义上可以看出: 对于 html 的标准属性来说,attribute 和 property 是同步的,是会自动更新的 但是对于自定义的属性来说,他们是不同步的.(自定义属性不会自动添加到property)

  • jquery获取并修改触发事件的DOM元素示例【基于target 属性】

    本文实例讲述了jquery获取并修改触发事件的DOM元素.分享给大家供大家参考,具体如下: 需求 当点击关注后,改变按钮样式并显示取消关注,如图 实现 利用jQuery的 target获取到触发该事件的dom,然后修改它 target 属性 代码: HTML <div class="people-desc"> <div class="people-name">{$vo['nickname']}</div> <div clas

  • Vue获取DOM元素并修改属性的方法

    Vue获取DOM元素 Vue获取DOM元素有两种方法 直接给相应的元素加id,然后再使用document.getElementById("id");获取 使用ref,给相应的元素加ref=“name”然后再使用this.$refs.name获取到该元素 Vue获取到元素并修改属性或者样式 使用上述的第二种方法,获取到元素,然后使用this.$refs.元素元素的ref对应的name.style.属性名(样式或者其他的属性名) = “你要设置的值”或者元素的ref对应的name.属性名(

  • 通过Mootools 1.2来操纵HTML DOM元素

    我们已经学习过如何来选取DOM元素,怎么创建数组,怎么创建函数,怎么把事件添加到元素,今天我们来深入地学习一下如果操纵HTML元素.通过MooTools 1.2,你可以添加新元素到一个HTML页面中,也可以删除元素,以及改变任何样式或者元素参数,这些都非常容易. 基本方法 .get(); 这个工具可以让你获取元素的属性(property).元素的属性是组成一个HTML元素的各种不同部分,例如src.value.name等等.使用.get();方法非常简单: 参考代码: 复制代码 代码如下: //

随机推荐