JavaScript基礎學習--05自定義屬性、索引值

Demos: ??https://github.com/jiangheyan/JavaScriptBase?

?

一、自定義屬性
1、讀寫操作
<input abc="123" type="button" value="按鈕" />
=========================================================
//讀寫:
var aBtn = document.getElementsByTagName('input');
aBtn[0].abc = '456';
2、js可以為任何HTML元素添加任意個自定義屬性
3、自定義屬性可以作為判斷的依據,相對于用class后者flag變量判斷,優點:
3.1 ? ? 有時候不允許操作class時,可以利用自定義屬性,通過判斷自定義屬性的值,從而操作流程
3.2 ? ? 一個flag變量只能判斷一組對象,當對象在循環中有多組對象時,只能用class 或者 自定義屬性
4、for循環里面的i
1 for(var i = 0; i < aLi.length; i++) {
2      i     //這里的 i 是0、1、2……
3      aLi[i].onclick = function() {
4           i     //這里的 i 涉及到閉包和作用域問題,不能返回1、2、…… 只能返回aLi.length
5      }
6 }
5、自定義索引
1 for(var i = 0; i < aLi.length; i++) {
2      aLi[i].index = i;     //給每個li添加自定義屬性index,值為i,模擬成為索引
3      aLi[i].onclick = function() {
4           i     //這里的 i 涉及到閉包和作用域問題,不能返回1、2、…… 只能返回aLi.length
5      }
6 }
5.1 ? ? 自定義索引的應用
 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>無標題文檔</title>
 6 <script>
 7 window.onload = function (){
 8     var aBtn = document.getElementsByTagName('input');
 9     var aP = document.getElementsByTagName('p');
10  
11     // 想建立“匹配”“對應”關系,就用索引值
12     var arr = [ '莫濤', '張森', '杜鵬' ];
13  
14     for( var i=0; i<aBtn.length; i++ ){
15  
16         aBtn[i].index = i;            // 自定義屬性(索引值)
17  
18         aBtn[i].onclick = function (){
19             // alert( arr[ this.index ] );
20             this.value = arr[ this.index ];
21  
22             aP[ this.index ].innerHTML = arr[ this.index ];
23         };
24     }
25 };
26 </script>
27 </head>
28  
29 <body>
30  
31 <input type="button" value="btn1" />
32 <input type="button" value="btn2" />
33 <input type="button" value="btn3" />
34 <p>a</p>
35 <p>b</p>
36 <p>c</p>
37  
38 </body>
39 </html>

?

轉載于:https://www.cnblogs.com/hihao/p/7344630.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540749.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540749.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540749.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

有線電視pcr是什么意思_有線電視的完整形式是什么?

有線電視pcr是什么意思有線電視&#xff1a;社區訪問電視 (CATV: Community Access Television) CATV is an abbreviation of "Community Access Television". CATV是“社區訪問電視”的縮寫 。 It is also known as Public Access Television, which is a type of …

桶分類 算法_桶分類算法

桶分類 算法桶分類 (Bucket Sort) Bucket sort is a sorting technique in which array is partitioned into the buckets. By this, each bucket will be sorted individually, by using some another sorting algorithm such as insertion sort. This sorting technique assu…

百度之星初賽(A)——T5

今夕何夕 Problem Description今天是2017年8月6日&#xff0c;農歷閏六月十五。 小度獨自憑欄&#xff0c;望著一輪圓月&#xff0c;發出了“今夕何夕&#xff0c;見此良人”的寂寞感慨。 為了排遣郁結&#xff0c;它決定思考一個數學問題&#xff1a;接下來最近的哪一年里的同…

mycat 不得不說的緣分

1&#xff0c;愕然回首。它在燈火闌珊處關于mysql集群中間件。曾經寫在應用程序里面&#xff0c;由開發者實現&#xff0c;在配置文件中面寫多個數據源&#xff0c;寫庫一個數據源&#xff0c;讀庫一個數據源&#xff0c;笨拙不高效&#xff0c;由于程序猿的差異化。效果并非特…

python創建空元組_用Python創建空元組

python創建空元組Python | 空元組 (Python | empty tuple) In python, we can also create a tuple without having any element. An empty tuple is created using a pair of round brackets, (). 在python中&#xff0c;我們也可以創建一個沒有任何元素的元組 。 使用一對圓括…

共享馬扎的火爆,原來是一場營銷!

如今&#xff0c;人們的生活仿佛已經被“共享化”&#xff1a;上班有共享單車、睡覺有共享床鋪、商場有共享充電寶、去機場有共享巴士……好像除了男女朋友是自己的&#xff0c;其他都要共享了&#xff01;哎&#xff0c;不對&#xff01;前些日子&#xff0c;竟然還真有了共享…

什么是CDP(連續數據保護)?

CDP&#xff1a;連續數據保護 (CDP: Continuous Data Protection) CDP is an abbreviation of "Continuous Data Protection". It is also called as a real-time backup, is a system of data storage that backs up data in an organization or enterprise on a sy…

Git實戰(二)原理

上次的博文Git實戰&#xff08;一&#xff09;版本號控制概述中我們簡介了一下版本號控制系統的概念&#xff0c;重點對版本號控制的三種類型進行了分析和對照&#xff0c;從本篇博文開始我們進入Git的世界&#xff0c;首先介紹一下Git實現版本號控制的原理。 Git與SVN等其它版…

什么是html的混雜模式_HTML的完整形式是什么?

什么是html的混雜模式HTML&#xff1a;超文本標記語言 (HTML: Hyper Text Markup Language) HTML is an abbreviation of Hypertext markup language. Hypertext markup language is a text based standard markup language used to create web pages and design documents whi…

PHP-Manual的學習----【語言參考】----【類型】-----【對象】

Object 對象1.對象初始化要創建一個新的對象 object &#xff0c;使用 new 語句實例化一個類&#xff1a; class foo{ function do_foo(){ echo "1111"; }}$bar new foo;echo $bar->do_foo();輸出&#xff1a;1111注解&#xff1a;一個類可以初始化…

kotlin 兩個數字相加_Kotlin程序交換兩個數字

kotlin 兩個數字相加Given two numbers, we have to swap them. 給定兩個數字&#xff0c;我們必須交換它們。 Example: 例&#xff1a; Input:First number: 10Second number: 20Output:First number: 20Second number: 10To swap two numbers – here we are using third v…

Kotlin入門(14)繼承的那些事兒

上一篇文章介紹了類對成員的聲明方式與使用過程&#xff0c;從而初步了解了類的成員及其運用。不過早在《Kotlin入門(12)類的概貌與構造》中&#xff0c;提到MainActivity繼承自AppCompatActivity&#xff0c;而Kotlin對于類繼承的寫法是“class MainActivity : AppCompatActiv…

在Scala中列出| 關于Scala列表的完整教程

Scala | 清單 (Scala | List) List in Scala is a collection that stores data in the form of a liked-list. The list is an immutable collection which means the elements of a list cannot be altered after the list is created. Lists are flexible with data types, …

MySQL單機多實例部署詳解之------多實例分別定義不同的配置文件

mysql多實例安裝---分別定義不同的配置文件1.安裝MySQL需要的依賴包[rootMySQL ~]# yum install ncurses-devel libaio-devel cmake -y[rootMySQL ~]# rpm -qa ncurses-devel libaio-develncurses-devel-5.7-4.20090207.el6.x86_64libaio-devel-0.3.107-10.el6.x86_642.安裝編譯…

javascript模塊_JavaScript中的模塊

javascript模塊JavaScript模塊 (JavaScript Modules) One of the key features of programming fundamentals is breaking down your code into fragments. These fragments depending on its functionality have been coined various terms like functions, components, modul…

在mac上安裝Docker

1.進入一下地址進行下載docker https://download.docker.com/mac/stable/Docker.dmg 進入后進行下載后進行安裝 2.將其拖動到Appliaction中即可 3.第一打開會有一個這樣的歡迎頁面 3.檢查是否安裝完成 出現上圖所示標示安裝完成了

composer 檢查鏡像_檢查N元樹中的鏡像

composer 檢查鏡像Problem statement: 問題陳述&#xff1a; Given two n-ary trees, the task is to check if they are mirrors of each other or not. 給定兩個n元樹&#xff0c;任務是檢查它們是否互為鏡像。 Note: you may assume that root of both the given tree as …

浪潮各機型前面板指示燈含義

NF560D2 NF3020M2 NF5020M3 NF5140M3 NF5212H2 NF5220 NF5224L2 NF5240M3 NF5270M3 NF5280M2 NF5280M3 NF5540M3 NF5580M3 NF8420M3 NF8520 NF8560M2 說明&#xff1a;轉浪潮官網。

python dll 混合_Python | 條線混合圖

python dll 混合In some of the cases, we need to plot a bar-line hybrid plot. This plot helps in a better understanding of dynamics as well as the relative magnitude of each point in the plot. Bar-Line Hybrid Plots are mostly used for the representation of …

測試八 賽后感受

測試八 當我打開T1的時候&#xff0c;就沒有往下看題目了&#xff0c;主要是發現T1就是之前做過&#xff0c;而且我也看過題解的題目&#xff0c;接著就開始鉆研&#xff0c;當然&#xff0c;也沒什么好鉆研的&#xff0c;大概思路還是知道的&#xff0c;再寫寫數據就已經很清晰…