javascript自定义属性的应用
你知道吗?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自定义属性的应用的更多相关文章
- 让 JavaScript 与 CSS 和 Sass 对话
JavaScript 和 CSS 已经并存超过了 20 年.但是在它们之间共享数据非常困难.当然也有大量的尝试.但是我所想到的是一些简单而直观的内容——不涉及结构更改,而是使用 CSS 自定义属性甚至 ...
- javascript:DOM自定义属性的妙用
虽然HTML元素的属性已经十分丰富,但在某些场合下,元素固有的属性无法完成我们的需求: 这个时候,自定义属性就会让问题解决起来比较方便. 比如,下面的栗子: 多张图片点击变化事件:当背景图片为a.jp ...
- javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性
JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...
- JavaScript: 高级技巧: window 对象也可以添加自定义属性
JavaScript: 高级技巧: window 对象也可以添加自定义属性 例如 window.ntName = 'a';例如 window.ntXw = top; 优点是, window 无须等加载 ...
- javaScript 对象的hasOwnProperty方法打印window自定义属性
for (var name in window) { if (window.hasOwnProperty(name)) { window.console.log ( name + " : & ...
- javascript根据元素自定义属性获取元素,操作元素
写在前面:给某个或多个元素自定义属性data-tar,想获取data-tar='123'的元素来进行进一步的操作,如何实现? function getElementByAttr(tag,attr,va ...
- javascript中的自定义属性
标签的自定义属性: 在开发中,有时需要在标签上添加一些自定义属性用来存储数据或状态. 设置了自定义属性的标签,就是在这个标签上添加了这个属性,浏览器中的html结构中可以看到. 使用点语法(如oWra ...
- JavaScript数组自定义属性
我们可以以json键值对的形式自定义属性. 首先定义一个JS数组JSarray. 然后按json键值对的形式进行赋值. 最后在控制台显示结果. 代码如下: var JSarray = new Arra ...
- 自定义属性--JavaScript
1 - 获取属性值 element.属性 获取属性值 element.getAttribute('属性') 区别: element.属性 --获取内置属性(元素本身自带的属性) element.get ...
随机推荐
- DDR3内存详解,存储器结构+时序+初始化过程
DDR3内存详解,存储器结构+时序+初始化过程 标签: DDR3存储器博客 2017-06-17 16:10 1943人阅读 评论(1) 收藏 举报 分类: 硬件开发基础(2) 转自:http:/ ...
- 转:SNMP 原理及配置简述
SNMP 原理及配置简述 转载 2016年01月13日 16:18:51 随着机器数量的增长,管理员不能像过去那样,一台台机器进行监控.解决问题,而需要借助各方工具进行统一监控和管理.利用SNMP,一 ...
- ZOJ 3703 Happy Programming Contest(0-1背包)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3703 Happy Programming Contest Time Lim ...
- 堆积木----vector防止内存超限
蒜头君有 nn 块积木,编号分别为 11 到 nn.一开始,蒜头把第 ii 块积木放在位置 ii.蒜头君进行 mm 次操作,每次操作,蒜头把位置 bb 上的积木整体移动到位置 aa 上面.比如 11 ...
- 如何将自己的网站分享到QQ空间,微信,微博等等。
逛一些网站的时候经常会看到右侧挂个分享栏,让用户把自己的站分享到qq空间,微信等等,所以自己也研究了下,把他加到了自己的网站上,喜欢的可以先看看效果:去转盘网,不多说了,直接上代码: window._ ...
- Codeforces839D Winter is here 容斥
/** 题目:Codeforces839D Winter is here 链接:http://codeforces.com/contest/839/problem/D 题意:给定n个数,求所有的最大公 ...
- Splash 笔记
javascript rendering service a lightweight web browser can execute custom JavaScript in page context ...
- easyUI的column的field的颜色属性
{field:'hasPrintStr',title:'状态',width:10,halign:'center',align:'right',styler: function(value,row,i ...
- nodejs操作图片方法
最近项目中用到nodejs做图片服务器,用户上传图片生成缩略图返回地址一系列操作. 原来一直用.net平台,所有都封装好了生成缩略图这种分分钟就解决了,遂度娘一番全是调用imagemagick和gra ...
- Disillusioning #1 水题+原题赛(被虐瞎)
https://vijos.org/tests/542c04dc17f3ca2064fe7718 好一场 水题 比赛啊 t1直接上暴力费用流10分QAQ,虽然一开始我觉得可以不用的,直接dfs可以得出 ...