2012-12-04 23 views
0

我在使用Jquery切換一個feed時遇到問題。我有一個稱爲標籤的超鏈接。當我點擊它時,它會切換下面的div。Jquery Toggle只能在一個帖子上工作

它的工作原理 - 但僅限於feed中的頂級帖子 - 如果我在feed中有任何其他帖子,它不起作用。

下面是jQuery的: -

<script type="text/javascript"> 
    $(function() { 
     $("#hypfeedTagBtn").click(function() { 
      $("#divPostBodyTags").toggle(); 

      return false; 

     }); 
    }); 



</script> 

下面是HTML: -

<div id="divPostFoot_64" class="dPostMain dPostFoot"> 
<span id="Content_ucFeeds_repFeedThread_lblFeedViewCouont_0" class="spFootReplyCount"></span> 
<span id="Content_ucFeeds_repFeedThread_lblFeedShareLink_0" class="spFootLinks"></span> 
<span id="Content_ucFeeds_repFeedThread_lblFeedDeleteLink_0" class="spFootLinks"></span> 
<a id="hypfeedTagBtn" class="spFootLinksShowTags">Tags</a> 
<a id="Content_ucFeeds_repFeedThread_hypFeedMessageMe_0" class="spFootLinks" href="/Mail/NewMessage.aspx?FeedID=64">Message Me</a> 
</div> 

    <div id="divPostBodyTags" class="dPostMain dPostTAGSDIV" style="display: block;"> 
<ul id="PostBodyTags"> 
<li class="TAGLiItem"> 
<a class="TAGaItem">Plumbers</a> 
</li> 
<li class="TAGLiItem"> 
<a class="TAGaItem">Plumbers</a> 
</li> 
</ul> 
</div> 

感謝

史蒂夫

+1

_「但只限於飼料中的頂級帖子」_這是什麼意思,它只隱藏第一個李?或者你有多個div? – epascarello

+0

ID應該是唯一的..所以使用一個ID選擇器,你將永遠只會得到第一個找到該ID的元素 –

+1

每個網頁只能有一個唯一的ID,所以應該在類上執行切換。 – jtheman

回答

1

MDN element.id

ID在文檔中必須是唯一的,通常用於使用document.getElementById檢索 元素。

在某些文檔(尤其是HTML,XUL和SVG)中,可以將元素的ID指定爲元素上的屬性,如下所示:。

但是,如果沒有 正確指定DOCTYPE中的id屬性的類型,您不能在自定義XML文檔中使用此屬性。

id的其他常見用法包括在使用CSS對文檔進行樣式化時使用元素的ID作爲選擇器 。

請注意,ID是區分大小寫的,但不應創建僅在大小寫方面不同的ID(請參閱類別中的區分大小寫和 ID名稱)。

如果您想切換多個部分,請使用類而不是ID。

+0

好吧 - 謝謝你。我已將ID更改爲類。現在,當我點擊按鈕時,它會同時在所有帖子中隱藏所有隱藏的div!無論如何,只需在一個帖子上切換div即可。 **文章 - 我正在建立一個社交網絡 - 所以如果有人發了一篇文章,它是一個在那裏飼料項目。如Facebook,Twitter或Google +會發送一條消息**** –

+0

您需要將其更改爲'$(「。yourClassOnLinks」)。click(function(e){$(this).parent()。 find(「。YourClassOnTheDivsToToggle」)。toggle(); e.preventDefault();}' – epascarello

+0

很酷的嘗試:) –