你知道吗?JavaScript可以为任何HTML元素添加任意的自定义属性,而且你可能无意中已经使用过自定义属性了,那么自定义属性通常有哪些应用呢?

1、想用“匹配”、对应关系的时候就用索引值

2、同时控制多组元素

3、开关切换,多组元素开关的切换

就总结到这里,下面来看看几个例子吧

JavaScript自定义属性索引值:

HTML:

<input type="button" value="btn1">
<input type="button" value="btn2">
<input type="button" value="btn3">

JavaScript:

var aInp=document.getElementsByTagName('input');

    for (var i = 0; i < aInp.length; i++) {
aInp[i].index=i;//自定义属性,就是通常用的索引值
aInp[i].onclick=function(){
alert(this.index);//弹出当前点击的是第几个按钮,从0开始
}
};

同时控制多组元素:

HTML:

<input type="button" value="0">
<input type="button" value="0">
<input type="button" value="0">

JavaScript:

var aInp=document.getElementsByTagName('input');
var arr=['A','B','C','D','E','F','G'];
for (var i = 0; i < aInp.length; i++) {
aInp[i].num=0;//自定义属性
aInp[i].onclick=function(){
this.value=arr[this.num];
this.num++;
if (this.num===arr.length) {
this.num=0;
};
}
};

自定义属性组开关:

CSS:

.cont{
width: 400px;
margin: 30px auto;
position: relative;
}
.cont input{
height: 100px;
width: 100px;
background: #ddd;
margin-left: 20px;
font-size: 30px;
border:1px solid #ccc;
}
.cont .active{
background: #ffc7d2;
color: #fff;
border:1px solid #fc6d88;
}

HTML:

<div class="cont">
<input type="button" value="btn1">
<input type="button" value="btn2">
<input type="button" value="btn3">
</div>

JavaScript:

var aInp=document.getElementsByTagName('input');

    for (var i = 0; i < aInp.length; i++) {
aInp[i].Onoff=true;//自定义属性,切换开关
aInp[i].onclick=function(){
if (this.Onoff) {
this.className='active';
this.Onoff=false;
}
else{
this.className='';
this.Onoff=true;
};
}
};

javascript自定义属性的应用的更多相关文章

  1. 让 JavaScript 与 CSS 和 Sass 对话

    JavaScript 和 CSS 已经并存超过了 20 年.但是在它们之间共享数据非常困难.当然也有大量的尝试.但是我所想到的是一些简单而直观的内容——不涉及结构更改,而是使用 CSS 自定义属性甚至 ...

  2. javascript:DOM自定义属性的妙用

    虽然HTML元素的属性已经十分丰富,但在某些场合下,元素固有的属性无法完成我们的需求: 这个时候,自定义属性就会让问题解决起来比较方便. 比如,下面的栗子: 多张图片点击变化事件:当背景图片为a.jp ...

  3. javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性

    JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...

  4. JavaScript: 高级技巧: window 对象也可以添加自定义属性

    JavaScript: 高级技巧: window 对象也可以添加自定义属性 例如 window.ntName = 'a';例如 window.ntXw = top; 优点是, window 无须等加载 ...

  5. javaScript 对象的hasOwnProperty方法打印window自定义属性

    for (var name in window) { if (window.hasOwnProperty(name)) { window.console.log ( name + " : & ...

  6. javascript根据元素自定义属性获取元素,操作元素

    写在前面:给某个或多个元素自定义属性data-tar,想获取data-tar='123'的元素来进行进一步的操作,如何实现? function getElementByAttr(tag,attr,va ...

  7. javascript中的自定义属性

    标签的自定义属性: 在开发中,有时需要在标签上添加一些自定义属性用来存储数据或状态. 设置了自定义属性的标签,就是在这个标签上添加了这个属性,浏览器中的html结构中可以看到. 使用点语法(如oWra ...

  8. JavaScript数组自定义属性

    我们可以以json键值对的形式自定义属性. 首先定义一个JS数组JSarray. 然后按json键值对的形式进行赋值. 最后在控制台显示结果. 代码如下: var JSarray = new Arra ...

  9. 自定义属性--JavaScript

    1 - 获取属性值 element.属性 获取属性值 element.getAttribute('属性') 区别: element.属性 --获取内置属性(元素本身自带的属性) element.get ...

随机推荐

  1. django中使用POST方法报错 URL via POST, but the URL doesn't end in a slash

    该方式是因为URL路径没有使用slash(斜线"/")结尾造成的. 因此在使用POST的JavaScript函数的路径参数中,路径URL必须使用/结尾.

  2. 【持续更新】总结:C++开发时积累的一些零碎的东西

    Makefile template update: 1.调整了顺序,把经常编辑的部分集中在了Makefile的下半部分 2.进行了一些重构实现更多的代码复用,见红色高亮部分,LIBPATH_ALL和L ...

  3. java中final关键字的使用方法

     [java中为什么会有final变量]: final这个关键字的含义是"这是无法改变的"或者"终态的": 那么为什么要阻止改变呢? java语言的发明者可 ...

  4. Errors occurred while updating the change sets for SVNStatusSubscriber org.apache.subversion.javahl.

    原因:eclipse-svn插件版本过低,导致不能识别svn客户端中的代码,从而报错 解决方法: 1.点击“Help”下拉菜单中的“Eclipse Marketplace”, 2.在弹出的窗口中,点击 ...

  5. android怎样写一个自己定义的dialog能够在Title的位置弹出来

    先上效果图: Title的Layout为: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr ...

  6. 13 memcache服务检查

    [root@cache01 scripts]# vim mem_check.sh #!/bin/bash count_mem=$(netstat -lntup|grep memcached|wc -l ...

  7. 发送json-简单的传参查询和简单的sql查询

    简单的传参查询并转化为json using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  8. 第二百四十二节,Bootstrap列表组面板和嵌入组件

    Bootstrap列表组面板和嵌入组件 学习要点: 1.列表组组件 2.面板组件 3.响应式嵌入组件 本节课我们主要学习一下 Bootstrap 的三个组件功能:列表组组件.面板组件. 响应 式嵌入组 ...

  9. js yui

    1.namespace 用于创建一个全局的命名空间,使用YUI时,首先会自动创建widget,util,example三个命名空间,使用时也可以自定义命名空间.类似于在程序中建了了一个static变量 ...

  10. VC++ 在Watch窗口显示GetLastError值以及详细信息

    You can display the value GetLastError() will return by putting "@err" in your watch windo ...