2011-03-28 170 views
0

我有以下脚本 -Jquery无法正常工作!

$(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/ - >随着JS/HTML

+3

请描述您打算如何使用您当前的代码。 – jessegavin 2011-03-28 15:41:51

+2

是否有错误讯息?什么不工作? – Alp 2011-03-28 15:42:01

+2

呃....你还没告诉我们***什么***不工作。我的想法是现在就吃东西......不是任何人都在关心。但我可以看到你在这里有一个语法错误'$(“div.settings_frame_tabs_frame”)。(函数(){'。 – 2011-03-28 15:42:09

回答

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

+0

是的,但是如果你有任何建议,请编辑这个jsfiddle。 http://jsfiddle.net/gwUFe/ – 2011-03-28 15:47:48

+0

感谢哥们!它真的有效。再次感谢Felix King! – 2011-03-28 15:53:45

0

你是不是之前缺少的东西(函数()在这一行:?

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

+0

是的,我是这么认为的,但我想这是他们的,否则我将无法包括'this'在我的代码。有任何苏ggestions要放什么? – 2011-03-28 15:49:05