我有一個要求,我需要從 jQuery 中找出每個過濾專案的第四個父項。
$("a.dropdown-toggle").filter(function() {
return $(this).text().indexOf('ADD_DELET') > -1
}).parents().eq(4);
如果上述過濾器函式回傳單個值,則上述代碼作業正常,但如果過濾器函式回傳多個專案。上面的代碼不起作用。
uj5u.com熱心網友回復:
.eq(4)正在從所有選定下拉串列的所有父級中選擇元素 4,而不是每個的第 4 個父級。
使用.each()將適當的父級添加到集合的回圈。
也不需要使用filter(),你可以使用:contains()選擇器。
let parents = $([]); // empty collection
$("a.dropdown-toggle:contains(ADD_DELET)").each(function() {
parents = parents.add($(this).parents().eq(4));
});
如果你給那些父母一個獨特的課程會更容易,那么你可以使用.closest():
let parents = $("a.dropdown-toggle:contains(ADD_DELET)").closest(".classname");
這比計算父級更健壯,因為如果修改組織以添加或洗掉嵌套級別,它不會中斷。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/504990.html
標籤:javascript jQuery 筛选
