JS的for迴圈總是彈出最後乙個值得解決方法

2021-07-25 19:31:04 字數 995 閱讀 6133

首先看一下html內容:

現在我想得到標籤內的索引和內容,你也許刷刷的寫下以下**:

for (i = 0; i < els.length; i++) 

}

但是結果卻不盡人意,總是彈出「6----果敢」,比較好的解決方法有以下幾種:

1、使用閉包

var els = document.getelementsbytagname("li");

for (i = 0; i < els.length; i++)

}(i)

}

注意這裡的text變數,如果寫在onclick事件外面,即使使用了閉包得出來的標籤值也都是最後乙個,這是因為onclick事件並不能使用事件外的變數,如果你的變數是在事件外獲得的,你可以採用傳參的形式進行使用。

2、引入jquery,使用其中的on或delegate進行事件繫結(它們都有事件**的特性)

$("ul").delegate("li", "click", function());
或者:

$("ul").on("click", "li", function());
3、

使用es6中的新特性let來宣告變數

用let來宣告的變數將具有塊級作用域,很明顯可以達到要求,不過需要注意的是得加個'use strict'(使用嚴格模式)才會生效

var myul = document.getelementsbytagname("ul")[0];

var list = myul.getelementsbytagname("li");

function foo()

}}foo();

個人比較推薦第一種和第二種,第三種有的js版本不支援let形式來宣告變數。

vue v for迴圈資料刪除時總是刪除最後一項

在寫專案中遇到這樣乙個問題 v for 迴圈裡面套 v for 再刪除裡面迴圈的某一項是 總是刪除最後一項。下標列印的都是正確的 返回的資料也是正常刪除的,但是頁面上顯示的卻總是刪除最後一項的資料。解決方案 key 必須是唯一識別的乙個屬性。而vue中的v for 採用就地復用策略,用index繫結...

老闆為什麼總是最後乙個知道壞訊息?

作為第一管理者的老闆,在企業內擁有至高無上的權利,看似風光無限,卻長期以來被乙個簡單問題深度困擾,那就是 為什麼企業內的壞訊息,最後乙個知道的總是老闆呢?而有的 壞訊息 對企業來說,很可能是一場災難的降臨。這裡分享乙個也許對於老闆都似曾經歷過的案例 某公司乙個有史以來最大合同額的專案,銷售團隊已經跟...

JS 最後乙個單詞的長度

定義乙個函式,給定乙個字串,字串可能包含大小寫字母 數字和空格 的字串,返回其最後乙個單詞的長度。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指由字母組成,但不包含任何空格的字串。示例 輸入 hello world 輸出 5 輸入 hello a213 rabbit b234 輸出 6 輸入...