我正在嘗試遍歷元素并檢查它們的長度,然后如果父母有超過 2 個元素,則添加一個類。
現在該類已添加到所有父元素。
我的代碼是這樣的:
let CheckOptions = [...document.querySelectorAll(".value select option")]
let checkSelects = [...document.querySelectorAll(".value select")]
checkSelects.forEach(checkSelect => {
if(CheckOptions.length >= 2){
CheckOptions.forEach(checkSelects => checkSelect.classList.add("active"));
}
})
.active {
background-color: red;
<div class="value">
<select class="select">
<option class="option">1</option>
<option class="option">2</option>
<option class="option">3</option>
<option class="option">4</option>
</select>
</div>
<div class="value">
<select class="select">
<option class="option">1</option>
<option class="option">2</option>
</select>
</div>
<div class="value">
<select class="select">
<option class="option">1</option>
<option class="option">2</option>
<option class="option">3</option>
<option class="option">4</option>
</select>
</div>
我在這里做錯了什么?
uj5u.com熱心網友回復:
我們可以通過select 屬性訪問 a select,因此我們檢查該屬性值的長度是否大于 2,如果是,我們將類添加到 current 。optionsoptionsactiveselect
試試下面的.js代碼:
let checkSelects = [...document.querySelectorAll(".value select")]
checkSelects.forEach(checkSelect => {
const options = checkSelect.options
if (options.length > 2) {
checkSelect.classList.add("active")
}
})
此外,為了獲得length, 而不是獲得 的options屬性checkSelect,您可以只獲得lengthbycheckSelect.length屬性。
所以它會是:
let checkSelects = [...document.querySelectorAll(".value select")]
checkSelects.forEach(checkSelect => {
if (checkSelect.length > 2) {
checkSelect.classList.add("active")
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/523799.html
上一篇:在R中的For回圈中迭代多個變數
