这是我的剧本:
<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)
时,它可以工作。但是,在内容页面中,它不起作用。
答案 0 :(得分:5)
根据您的标记结构,您只需使用next()
即可完成。 next()
找到紧随其后的兄弟节点,可选择由选择器进行过滤。
$(document).ready(function () {
$(".div_question").toggle(function () {
$(this).next().slideDown();
}, function () {
$(this).next().slideUp();
});
});