jQuery手风琴不起作用

时间:2013-12-06 16:52:30

标签: javascript jquery asp.net accordion

我想我已经做得很好,但仍然没有手风琴

<head runat="server">
<title></title>
<link href="assets/jquery-ui-1.10.3.custom/jquery-ui-1.10.3.custom/development-bundle/themes/base/minified/jquery-ui.min.css" rel="stylesheet" />
<script src="assets/js/jquery-1.10.2.min.js"></script>
<script src="assets/jquery-ui.js"></script>

<script type="text/javascript">
    $("#Acc").accordion();
</script>

<body>
<form id="form1" runat="server">
<div  id="Acc">
    <h3>First One</h3>
    <div>
        <p>
            1st Data
        </p>
    </div>
     <h3>second One</h3>
    <div>
        <p>
           2nd Data
        </p>
    </div>
     <h3>Third One</h3>
    <div>
        <p>
            3rd Data
        </p>
    </div>

</div>
</form>

2 个答案:

答案 0 :(得分:1)

您的脚本应在dom ready handler

之内
jQuery(function(){
    $("#Acc").accordion();
})

由于执行选择器$("#Acc")时脚本位于标题中,因此元素尚未加载到dom,因此选择器不会返回任何内容,因此不会为元素启动accordion小部件

演示:Fiddle

答案 1 :(得分:1)

您需要将脚本包装在document.ready中,这会延迟脚本的执行,直到DOM完全加载为止。目前,脚本在执行时找不到div#Acc,因为它尚未加载。

$(document).ready(function(){
    $("#Acc").accordion();
});