首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

jQuery 判斷指定 class 的 input 值全非空:each 遍歷 + 旗標變量實現

     編輯:程式設計疑難解答

需求

檢查所有 class="aaa" 的 input,若**全部** value !== '' 則 gogogo = true,否則 alert("xxxx")。

標準 jQuery 實現


var ok = true;
$('input.aaa').each(function() {
    if (this.value === '') {  // this 指向原生 DOM 元素
        ok = false;
        return false;  // 打破 each 循環(相當於 break)
    }
});
if (ok) {
    gogogo = true;
} else {
    alert("xxxx");
}

關鍵點解析

  • $('input.aaa'):選擇器精準定位 class="aaa" 的 input。
  • .each(callback):遍歷 jQuery 對象集合,this 為原生 DOM,直接讀 this.value 最快。
  • return false:在 .each 中等同 break,提前終止遍歷,性能優化。
  • 旗標變量 ok:外部定義,內部修改,遍歷結束後判斷。

原生 JS 替代方案(無依賴)


const inputs = document.querySelectorAll('input.aaa');
let ok = true;
for (const input of inputs) {
    if (input.value === '') { ok = false; break; }
}
if (ok) gogogo = true; else alert('xxxx');

擴展:表單驗證最佳實踐

  1. 使用 required 屬性 + checkValidity() 原生驗證。
  2. 統一錯誤提示 UI,避免 alert 阻塞體驗。
  3. 提交前禁用按鈕,防止重複提交。

.each() + 旗標 + return false 打斷 是 jQuery 時代「判斷集合全滿足條件」的標準範式,簡潔高效且語義清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved