欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

JavaScript中nextall

JS中的nextall方法是什么?假設(shè)我有如下HTML代碼:
html
<ul>
<li>列表項(xiàng)1</li>
<li>列表項(xiàng)2</li>
<li>列表項(xiàng)3</li>
<li class="active">列表項(xiàng)4</li>
<li>列表項(xiàng)5</li>
</ul>

那么在JS中我可以使用nextall方法來(lái)獲取到當(dāng)前選中項(xiàng)之后的所有兄弟元素,即:
javascript
var activeItem = document.querySelector('.active');
var nextAll = nextall(activeItem);
function nextall(element) {
var siblings = [];
var nextSibling = element.nextSibling;
while(nextSibling) {
if(nextSibling.nodeType === 1) {
siblings.push(nextSibling);
}
nextSibling = nextSibling.nextSibling;
}
return siblings;
}

這段代碼會(huì)輸出一個(gè)包含選中項(xiàng)之后所有兄弟元素的數(shù)組。在本例中,它們是
  • 列表項(xiàng)5

  • 除此之外,nextall方法也可以用來(lái)獲取指定兄弟元素的前幾個(gè)兄弟元素。如果將nextall方法稍作改動(dòng),使得它包含一個(gè)參數(shù)來(lái)指定要獲取的元素?cái)?shù)量,如:
    javascript
    function nextall(element, num) {
    var siblings = [];
    var nextSibling = element.nextSibling;
    while(nextSibling && siblings.length < num) {
    if(nextSibling.nodeType === 1) {
    siblings.push(nextSibling);
    }
    nextSibling = nextSibling.nextSibling;
    }
    return siblings;
    }

    我可以使用如下代碼,僅獲取當(dāng)前選中項(xiàng)之后的兩個(gè)兄弟元素:
    javascript
    var activeItem = document.querySelector('.active');
    var nextTwo = nextall(activeItem, 2);

    這段代碼會(huì)輸出一個(gè)包含選中項(xiàng)之后的兩個(gè)兄弟元素的數(shù)組。在本例中,它們是
  • 列表項(xiàng)5

  • 除此之外,nextall方法也可以用來(lái)實(shí)現(xiàn)眾多元素的切換。假設(shè)我有如下HTML代碼:
    html
    <button class="btn" data-id="1">按鈕 1</button>
    <button class="btn" data-id="2">按鈕 2</button>
    <button class="btn" data-id="3">按鈕 3</button>

    那么在JS中,我可以使用如下代碼,為每個(gè)按鈕綁定切換事件:
    javascript
    var buttons = document.querySelectorAll('.btn');
    for(var i = 0; i < buttons.length; i++) {
    buttons[i].addEventListener('click', function() {
    var targetId = this.dataset.id;
    var targetElement = document.querySelector('#target-' + targetId);
    var siblings = nextall(targetElement, 2);
    for(var j = 0; j < siblings.length; j++) {
    siblings[j].classList.toggle('hidden');
    }
    });
    }

    在此例中,點(diǎn)擊第一個(gè)按鈕會(huì)切換其之后兩個(gè)元素,即
    ,同時(shí)它們的類名會(huì)從'hidden'切換至''。這段代碼可以擴(kuò)展為切換其他任何元素。
    綜上所述,nextall方法是一個(gè)非常有用的JS方法,可以快速、方便地獲取到指定元素之后的所有或部分兄弟元素,并且可以用來(lái)實(shí)現(xiàn)眾多功能。