2015-11-17 44 views
0

我有一些固定的HTML,並且需要根據類relatedheader中的元素爲元素newgroup設置類。正如你在HTML中看到的那樣,第一個元素有一個字符串 - Accessories。我想給這個元素下面的三個元素與類newgroup有基於該字符串的類。然後,我希望下一個集合具有來自下一個relatedheader元素的類。如果最接近的元素包含字符串,則將類添加到元素

如何用jQuery或vanilla JS做到這一點?我想第一步是將relatedheader元素設爲父級?

我得到了什麼至今:

$('.relatedheader').nextUntil('.relatedheader').addClass('selected'); 

如何讓我的腳本走班動態releatedheader元素?

<div class="relatedheader"> 
    <span class="unfoldedlabel" colspan="6"> 
     <a>Accessories/</a> 
    </span> 
</div> 
<div class="newgroup"></div> 
<div class="newgroup"></div> 
<div class="newgroup"></div> 
<div class="relatedheader"> 
    <span class="unfoldedlabel" colspan="6"> 
     <a>computers/</a> 
    </span> 
</div> 
<div class="newgroup"></div> 
<div class="newgroup"></div> 
<div class="newgroup"></div> 
+3

到目前爲止你做了什麼? – Alex

+2

我在這一個空白 - 不知道從哪裏開始。 – Xeptor

+3

用jQuery很容易,因爲它有一些訪問dom元素的特殊方法,最好是發佈一些你嘗試過的代碼,儘管你已經提到了_im在這個one_上的空白。這實際上並沒有幫助。 – Jai

回答

1

在這裏你去:

$(document).ready(function(){ 

    $(".unfoldedlabel a").each(function(){ 

     if($(this).text() != "") 
     { 
      $(this).closest(".relatedheader").nextUntil(".relatedheader").addClass($(this).text().replace("/","")); 
     } 
    }); 
}); 

鏈接到JSFIDDLE

+0

這非常好,正是我所期待的。堅定不移! – Xeptor

+0

Det varsåliteså。 Varsågod! :) –

0

這裏是工作fiddle

$('.relatedheader').find('a').each(function() { 
    $(this).parents('.relatedheader').nextUntil('div.relatedheader').addClass('selected'); 
}); 

在這裏,在上面的例子中我循環通過每個a內部.relatedheader類,然後加入selected類的所有元件,直到下一個.relatedheader

注:如果你想只有那些類添加到下一組元素的按.relatedheadera選擇或某些事件,那麼你可以此功能只綁定到該事件。

希望這是你需要的!

相關問題