簡體   English   中英

通過javascript在html中添加類(奇數和偶數)?

[英]Add class (odd and even) in html via javascript?

我有這個代碼示例:

<section class="timeline">
    <article class="post ">
    <article class="post ">
    <article class="post ">
    <article class="post ">
</section>

現在我想知道如何通過 javascript 向文章元素添加一個類。 例如:

第 1 條添加類“左”

第 2 條添加類“正確”

第 3 條添加類“左”

第4條添加類“對”

我不確定你真的想做什么。我希望這會幫助你。

 let article = document.querySelectorAll('.post');
article.forEach((item, index) => {
    (index % 2 == 0) ?item.classList.add('odd'):item.classList.add('even')
});

我不確定您真正想要做什么,但很可能您不需要任何可以為奇數和偶數兒童編寫樣式的 javascript。

 .post:nth-child(odd) { color: green; } .post:nth-child(even) { color: red; }
 <section class="timeline"> <article class="post ">Article</article> <article class="post ">Article</article> <article class="post ">Article</article> <article class="post ">Article</article> </section>

Czlowiek 的答案在我看來是最好的答案,因為它不需要啟用 Javascript。

接下來是你應該使用 ids。 這對於部分來說當然是一個邏輯屬性,但對於文章來說也是非常合乎邏輯的。 但是,如果您想使用 Javascript 執行此操作,那么您是否應該首先處理 section 標簽,例如:

var sec = document.getElementById('timeline');

接下來,您可以遍歷該部分的 childNode,例如:

var cntArticle = 0;
for(var i = 0; i < sec.childNodes.length; i++) {
   if(sec.childNodes[i].tagName === 'ARTICLE') {
       if(cntArticle%2 === 0){
          sec.childNodes[i].className += ' left';
       } else {
          sec.childNodes[i].className += ' right';
       }
       cntArticle++;
    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM