在ASP.NET内容页面中选择jQuery id

时间:2012-03-31 23:52:18

标签: jquery asp.net content-pages

这是我的剧本:

<script type="text/javascript"> 
$(document).ready(function () { 
    $(".div_question").toggle(function () { 
        var answer= "answer" + $(this).attr("id"); 
        $("xxx").slideDown(); //  what could i write here.
    }, function () { 
        var answer= "answer" + $(this).attr("id"); 
        $("xxx").slideUp(); 
    }); 
}); 
</script> 

这是我的内容页面:

<asp:Repeater ID="Repeater_question" runat="server" DataSourceID="SqlDataSource_question"> 
 <HeaderTemplate> 
 </HeaderTemplate> 
 <ItemTemplate> 
     <div> 
         <div class="div_question" id='<%# Eval("question_id") %>'> 
               <strong><%# Eval("question_header") %></strong> 
         </div> 
         <div class="div_answer" id='<%# "answer"+Eval("question_id") %>' style="display: none; padding: 5px 5px 5px 15px;"> 
              <%# Eval("question_content") %> 
         </div> 
     </div> 
 </ItemTemplate> 
</asp:Repeater> 

我希望选择div_answer来显示/隐藏。我写的不是&#34; xxx&#34;,我找不到正确的语法。在母版页中,当我写$("#" + answer)时,它可以工作。但是,在内容页面中,它不起作用。

1 个答案:

答案 0 :(得分:5)

根据您的标记结构,您只需使用next()即可完成。 next()找到紧随其后的兄弟节点,可选择由选择器进行过滤。

$(document).ready(function () { 
    $(".div_question").toggle(function () { 
        $(this).next().slideDown();
    }, function () { 
        $(this).next().slideUp(); 
    }); 
});