Jquery无法正常工作!

时间:2011-03-28 15:40:53

标签: jquery jquery-ui jquery-plugins jquery-selectors

我有以下脚本 -

   $(document).ready(function () {

    $("div.settings_frame_tabs_frame").(function () {

        $("div.settings_frame_tabs_heading" ,this).click(function () {

            $("div.settings_frame_tabs_content" ,this).animate({
              height : 'toggle'
            }, 400, 'linear', function() { });

        });

    });

  });

并遵循HTML代码 -

  <div id="settings_frame_email_id_update" class="settings_frame_tabs_frame">
    <div class="settings_frame_tabs_heading">Email ID</div>
    <div class="settings_frame_tabs_content">
          <form action="<?php echo PATH; ?>domail_res/scripts/php/functions/settings_func.php?update=email_id" method="POST">
                 <table width="100%">
                         <tbody>
                                 <tr>
                                      <td align="left" width="35%">
                                           Enter your new <b>Email ID</b>
                                      </td>
                                      <td align="left">
                                           <input type="textbox" class="settings_frame_tabs_textbox" name="settings_email_id" />
                                      </td>
                                 </tr>
                                 <tr>
                                      <td></td>
                                      <td align="right">
                                           <input type="submit" class="settings_frame_tabs_submit_btn" value="Update" />
                                      </td>
                                 </tr>
                         </tbody>
                 </table>
          </form>
    </div>

这是Jsfiddle与CSS的链接。 http://jsfiddle.net/EDxWh/ 有人有主意吗!如果您有任何想法,请告诉我。

提前致谢!

http://jsfiddle.net/ye6tX/ - &gt;使用JS / HTML

2 个答案:

答案 0 :(得分:2)

语法错误....控制台应该告诉你:

 $("div.settings_frame_tabs_frame").(function () {
 //                          -------^

你走了:

$("div.settings_frame_tabs_frame").each(function () {
    $("div.settings_frame_tabs_heading", this).click(function () {
        $(this).next("div.settings_frame_tabs_content").animate({
          height : 'toggle'
        }, 400, 'linear');
    });
});
可能没有必要

each,具体取决于存在多少.settings_frame_tabs_frame个元素。你也可以这样做:

 $("div.settings_frame_tabs_frame div.settings_frame_tabs_heading")
     .click(function () {...});

另一个问题是,div.settings_frame_tabs_content不是div.settings_frame_tabs_heading的孩子,而是兄弟姐妹,因此您必须使用$(this).next()

Working DEMO

答案 1 :(得分:0)

你以前是不是错过了什么。(这行中的function():

$("div.settings_frame_tabs_frame").(function () {