2017-02-16 56 views
2

我有幾個的div同一類。我希望能夠通過點擊功能在每個獨立的孩子上切換課程。切換類

if($("div").hasClass("subLinkPage")) { 
    $(".sub-expand_collapse").children(".fa").toggleClass('fa-minus fa-plus'); 
} 

什麼我添加到這個腳本,所以它只能運行在每個的直接子節點上。

感謝您的任何建議

HTML

<div class="subLinkPage"> 
    <ul aria-labelledby="headLnk_02" class="nav__items"> 
     <li class="sub_p01 togSubList"> 

      <a role="button" href="#" class="sub-expand_collapse" aria-label="toggle menu"> 
       <i class="fa fa-plus" aria-hidden="true"></i> 
      </a> 

      <a id="subLnk_01" class="parent_link menu_p01" href="../content/m04/m04_c02_p01.html">Facebook feed</a>    
      <ul class="sub_items sub_items_01"> 
       <li><a href="../content/m04/m04_c02_p01-a.html" class="menu_p01a">Adding a Facebook feed<br/>to the home page</a></li> 
      </ul> 
     </li> 
     <li class="sub_p02 togSubList"> 


      <a role="button" href="#" class="sub-expand_collapse" aria-label="toggle menu"> 
       <i class="fa fa-plus" aria-hidden="true"></i> 
      </a> 

      <a id="subLnk_02" class="parent_link menu_p02" href="../content/m04/m04_c02_p02.html">Twitter feed</a>    
      <ul class="sub_items sub_items_02"> 
       <li><a href="../content/m04/m04_c02_p02-a.html" class="menu_p02a">Adding a Twitter<br/>feed web part</a></li> 
      </ul> 
     </li>  
    </ul> 
</div> 
+1

,請您提供一些HTML結構,它不是你想勾選「點擊」事件,元素很清楚。 – Dekel

+0

沒有'.fa'元素不是'.sub-expand_collapse'的直接子元素。切換哪些元素不應該? – Barmar

+0

添加HTML是不夠的。您點擊了哪些元素,以及點擊時應切換哪些元素以及哪些元素不應被切換? – Barmar

回答

1

您可以使用即時孩子的jQuery selector(parent > child)

$("div.subLinkPage").on('click', function() { 
    $(this).find(".sub-expand_collapse > .fa").toggleClass('fa-minus fa-plus'); 
}); 
+0

你們真的幫我覺得這通過 –

+0

你不需要'.filter',只需使用選擇'$(「div.subLinkPage」)' – Barmar

0

如果它是一個.click事件中,使用$(this)代替$(".sub-expand_collapse")

+0

比較遺憾的是不爲我工作 –

+0

顯示爲Click事件 – jake2389

0

你可以做這樣的事情$("MyElement > MyElementsChild").remove();
的 「>」 狀態它是一個子元素。

+0

代碼這仍然會影響地方.SUB-expand_collapse應用 –

+0

@LaurenceL的'>'CSS運營商只匹配眼前的孩子,不是所有的孩子所有的孩子。這應該工作。請用HTML更新您的問題,並清楚說明您想要影響的元素。 – Barmar

+0

沒問題,會做,現在 –