js循環給li綁定事件實現 點擊li彈出其索引值 和內容


近期,面試我們總會遇到這樣一個面試題:

現在網上答案很多苟同,但是我還是想在重復的述說一遍,俗話說:好記憶不如爛筆頭, 雖然常見,簡單,反復出現,總之,在簡單的多寫寫記憶還是很深刻的,即使忘了,也能拿出來翻翻。

代碼如下:(簡單些)

html代碼

  <ul>

  <li>香蕉</li>

  <li>蘋果</li>

     <li>菠蘿</li>

  <li>獼猴桃</li>

  <li>芒果</li>

  </ul>

方法一:

   var itemli = document.getElementsByTagName("li");

   for(var i = 0; i<itemli.length; i++){

    itemli[i].index = i; //給每個li定義一個屬性索引值,賦

    itemli[i].onclick = function(){

      alert("下標索引值為:"+this.index+"\n"+"文本內容是:"+this.innerHTML);    //  \n換行   索引值從0開始

    }

   }

方法二:(常用)

var itemli = document.getElementsByTagName("li");

for(var i = 0; i<itemli.length; i++){

   (function(n){

          itemli[i].onclick = function(){

      alert("下標索引值為:"+n+"\n"+"文本內容是:"+itemli[n].innerHTML);    //  \n換行   索引值從0開始

     }

    })(i)

   }

或者or:

for(var i = 0; i<itemli.length; i++){
        itemli[i].onclick = function(n){
        return function(){
                alert("下標索引值為:"+n+"\n"+"文本內容是:"+itemli[n].innerHTML);    //  \n換行   索引值從0開始
            }
      }(i)
    }

方法三:jQuery(更簡單)

$("ul li").click(function(){
        var item = $(this).index();  //獲取索引下標 也從0開始
        var textword = $(this).text();  //文本內容
        alert("下標索引值為:" + item +"\n"+ "文本內容是:"+textword); //  \n換行
    })

希望對你有幫助, 整理一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM