【问题标题】:Jquery not working correctly!jQuery 无法正常工作!
【发布时间】:2011-07-24 14:32:56
【问题描述】:

我有以下脚本--

   $(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

【问题讨论】:

  • 请描述你打算用你当前的代码做什么。
  • 有错误信息吗?究竟是什么不工作?
  • 嗯....您还没有告诉我们 什么 不起作用。我的想法是现在吃点东西……没人在乎。但是我可以看到你这里有语法错误$("div.settings_frame_tabs_frame").(function () {
  • 紫色。如果您能描述您的问题以及您的预期结果,将会很有用。
  • 我建议使用您的代码设置 jsfiddle.net 页面并在此处发布链接。并更具体地说明您遇到的错误。

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


【解决方案1】:

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

 $("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

【讨论】:

【解决方案2】:

你是不是在这一行的 .(function() 之前遗漏了什么:

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

?

【讨论】:

  • 是的,我是这么认为的,但我希望它是他们的,否则我将无法在我的代码中包含 this。有什么建议可以放他们的吗?
猜你喜欢
  • 2015-11-13
  • 1970-01-01
  • 2021-06-16
  • 2015-12-14
  • 2015-11-13
  • 2012-07-03
  • 2012-09-12
  • 2016-05-25
相关资源
最近更新 更多