【问题标题】:hide/show not working properly with jquery隐藏/显示无法与 jquery 一起正常工作
【发布时间】:2009-07-09 00:17:41
【问题描述】:

我有一个包含三行主要信息的页面,它们都附加了一个“更多信息”按钮,有点像 wefollow.com 及其信息按钮。

当点击“更多信息”链接时,带有“mi”类的<tr> 会在主要信息上方向下滑动。

我遇到的问题是在单击“更多信息”链接之前隐藏<tr><tr> 所在的位置只有一个空白区域。 <tr> 中的信息被 jQuery(下面的脚本)隐藏,然后在单击“更多信息”时显示。

我尝试用 CSS 隐藏“mi”,但是当点击“更多信息”按钮时,什么也没有发生。

任何帮助都会很棒。谢谢。

脚本

索引

<table>
    <tbody>

        <tr id="info-1"> </tr>
        <tr class="mi">
            <td>
                <div id="1" class="more-information" />
            </td>
        </tr>

        <tr class="">
            <td> </td>
            <td> </td>
            <td> <a id="1" class="more-info" href="#">More info</a> </td>

    </tbody>
</table>

listing.js

$(function(){
    $(".more-information").hide();

    $(".more-info").click(function () {

    var divname= this.id;

    $("#"+divname).load("getinfo.php").slideToggle("slow").siblings().hide("slow");

    return false;
});

【问题讨论】:

  • 你不应该在这个任务中使用表格!

标签: javascript jquery html


【解决方案1】:

第一个问题是您重复 ID。它们必须是独一无二的。毫无疑问,这会抛弃你的代码。

<table>
<tbody>
  <tr id="info-1"> </tr>
  <tr class="mi">
    <td><div id="more-1" class="more-information">More information</div></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td><a id="1" class="more-info" href="#">More info</a></td>
  </tr>
</tbody>
</table>

结合:

$(function() {
  $("a.more-info").click(function() {
    $("#more-" + this.id).load("getinfo.php").slideToggle("slow").siblings().hide("slow");
  });
});

不知道为什么你需要在上面隐藏兄弟姐妹。

另外,我不会在 jquery 中隐藏“更多信息”的 div。只需为此添加 CSS:

div.more-information { display: none; }

【讨论】:

  • 尝试了上述方法,但仍然在“mi”类所在的页面上出现空白。有什么想法吗?
  • 你试过在浏览器中输入getinfo.php吗?它返回什么?您是否可能遗漏了一些参数,例如确定要返回哪些“更多信息”数据?
  • getinfo.php 确实可以工作并显示,但我似乎无法先隐藏“mi”类,然后在单击“更多信息”时显示它。这是网站图片的链接,黄色方块是“mi”类。 i645.photobucket.com/albums/uu171/damicoa1/Picture2.png
【解决方案2】:

你隐藏了more-information div,但你没有隐藏它的父元素,&lt;tr&gt;mi。尝试将id 属性放在&lt;tr&gt; 中而不是封闭的div 中,并隐藏整行。此外,您必须听取 cletus 的建议,不要重复 id 和不必要的兄弟隐藏。

【讨论】:

  • 当我设置 tr.mi { display: none; 时,该行确实消失了。但我不知道如何在没有打开所有三行的情况下单击“更多信息”按钮时将其显示回来。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 2022-01-06
  • 2020-06-06
相关资源
最近更新 更多