2011-09-30 69 views
1

我有一个.net Datalist返回新闻文章我想要发生的只是标题显示,然后点击标题链接显示正文。jquery显示/隐藏在.net Datalist

这是我迄今为止 HTML

<asp:DataList ID="dlNewsArticles" DataSourceID="SqlDataSourceNewsArticles" runat="server"> 
    <ItemTemplate> 
     <div class="news"> 
      <strong><a class="trigger" href="#"><%#Eval("Headline") %></a> </strong><br /> 
      <div class="newsarticle"><%#Eval("ArticleBody") %></div> 
      <br /><br /><br /> 
     </div> 
     </ItemTemplate> 
</asp:DataList> 

的Javascript

(function ($) { 
     $(document).ready(function() { 
      $('.newsarticle').hide(); 
      $('a.trigger').click(function() { 
       $(this).next("div").slideToggle(); 


      }); 
     }); 
    })(jQuery); 

,似乎工作的唯一部分是在加载.newsarticle的div的隐藏。 是一个完整的菜鸟,当涉及到jQuery的,所以任何指针将感激收到

干杯

回答

0

next()函数将返回a之后的下一个元素。我假设它找到<br/>,它与"div"选择器不匹配,因此没有返回。

我会使用类似

$(this).parent().siblings("div").slideToggle(); 

这将去在此情况下,链接,strong的父元素,然后找到strong元素是div的,它会发现一个的兄弟姐妹说你正在寻找

0

你的选择是不完全正确。尝试 -

(function ($) { 
     $(document).ready(function() { 
      $('.newsarticle').hide(); 
      $('a.trigger').click(function() { 
       $(this).parents(".news").children(".newsarticle").slideToggle(); 
      }); 
     }); 
    })(jQuery); 

这应该找到点击链接具有news类的父“格”,然后找到喧嚣具有“newsarticle”类的子项。