2011-03-28 226 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