2014-04-30 30 views
0

我打算再次提出這個問題。感謝所有提供問題提示的人。你如何顯示:無鏈接或包含某個字符串的h2s?

這裏是我的jsfiddle鏈接:http://jsfiddle.net/trevhud/VFJf8/4/

和HTML的樣本:

<div class= "category-tree"> 
<section class="category mainCat"> 
    <h2><a href="#">Documentation</a></h2> 
</section> 
<section class="category"> 
    <h2><a href="#">General</a></h2> 
    <section class="section"> 
     <h3><a href="#">General</a></h3> 
     <ul class="article-list"> 
      <li><a href="#">Reset or Reactivate</a></li> 
      <li><a href="#">Create an account</a></li> 
     </ul> 
    </section> 
</section 
</div> 

正如你所看到的,當你點擊一個類別,各部分時彈出。當你點擊一個部分時,文章列表就會彈出。

當類別下的h2與下面的h3具有相同的確切文本時,我想隱藏h3並立即顯示文章列表。這是因爲用戶沒有必須點擊兩次的冗餘才能看到鏈接上的文章列表,表明完全相同的事情。我在JS的底部包含了一個可能的答案,這似乎並不完全是我所描述的。感謝大家的幫助

+1

你一般要沸騰你的問題儘可能簡單地複製您的錯誤或困難,而不是簡單地複製和粘貼代碼。你在這裏看到的東西對於初次瀏覽是否有些困難。 – astex

+0

同意。你只需要一個只有基本代碼的小型jsFiddle來重新創建上下文。 – sheriffderek

+0

你不想通過我想的字符串來做到這一點。我敢打賭,數據屬性在這裏會很好,但我們需要更多的東西來處理這些代碼。這些代碼甚至沒有以可讀的方式格式化,並且CSS中有選擇器不在HTML中,「.category-tree」不在HTML中,因此您的hrefs無關緊要。 – sheriffderek

回答

0

如果你只是想檢查H2與下一H3標籤,你可以做這樣的事情在點擊事件的文本:

if($(this).next().find('h3 a').text() == $(this).text()) 
{ 
    $(this).next().find('h3').toggle(); 
} 
+0

這似乎不起作用。有任何想法嗎? – trevhud

+0

在看你的小提琴時,$(this)引用了「a」節點。您還需要在.on(「click」)事件中調用上述內容。我在這裏分叉你的小提琴:http://jsfiddle.net/brettwlutz/VFJf8/5/基本上你必須看看父母(h2或h3),然後找到下一個。即$(this).parent()。next()。find('h3 a')。text() – BrettL

相關問題