显示和隐藏父 div 的跨度

Posted

技术标签:

【中文标题】显示和隐藏父 div 的跨度【英文标题】:show and hide span from parent div 【发布时间】:2015-09-25 12:08:42 【问题描述】:

点击查看所有描述,我应该能够显示以下div并将查看所有描述内容更改为隐藏所有描述 当再次点击它时,它应该能够隐藏以下 div 并将可点击的内容更改为 “查看所有描述”

.hiddenComments 
  display: none;
  padding: 5px;

.showComments 
  display: inline-block;
  padding: 5px;
<div class="row outer-part col-md-offset-1">
  <div class="col-md-12 TechDiscSelectAll" id="divSelectAll_DRILLING">
    <a id="lnkViewAll_DRILLING" class="NoWrap">View All Descriptions</a>
  </div>

  <div class="row padding-4">
    <div class="col-md-12">
      <span class="hiddenComments">Sample text;</span>
    </div>

  </div>
  <div class="row padding-4">
    <div class="col-md-12">

      <span class="hiddenComments">sample text</span>
    </div>

  </div>

【问题讨论】:

我们如何做到这一点?你的意思是你怎么能那样做?你试过什么?我们不仅仅是为您编写代码的服务。我们在这里帮助您理解,但您必须付出一点努力。编辑:我如何对一个拥有近 3k 代表的人说这个?你会认为你现在已经明白这里的事情是如何运作的...... w3schools.com/jquery/jquery_hide_show.asp @wazaaaap 至少发布 jquery 站点文档而不是 w3schools :( 有趣的是,您有多少问题以 “如何...?” ***.com/help/badges/28/famous-question?userid=158008 开头 【参考方案1】:

如果您能更具体一些,我将能够更好地帮助您..同时看看这个:

$('a').click(function () 
   $('a').text('Hide');

    $(".hiddenComments").addClass('showComments');
    $('.hiddeComments').removeClass('hideComments');
);

【讨论】:

【参考方案2】:

不需要 css,不需要额外的类,只需要 jquery 事件。下次在这里提问之前阅读jquery文档,它会更好地为您的学习。 https://api.jquery.com/

$('#lnkViewAll_DRILLING').click(function() 
      var $this = $(this);
      var text = ($this.text() != 'Hide All Descriptions') ? 'Hide All Descriptions' : 'Show All Descriptions';
      $this.text(text);

      $(".comments").toggle();
    );
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="style.css" />
  <script data-require="jquery" data-semver="2.1.4" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
  <script src="script.js"></script>
</head>

<body>
  <div class="row outer-part col-md-offset-1">
    <div class="col-md-12 TechDiscSelectAll" id="divSelectAll_DRILLING">
      <a id="lnkViewAll_DRILLING" class="NoWrap">View All Descriptions</a>
    </div>
    <div class="row padding-4">
      <div class="col-md-12">
        <span class="comments">Sample text;</span>
      </div>
    </div>
    <div class="row padding-4">
      <div class="col-md-12">
        <span class="comments">sample text</span>
      </div>
    </div>
  </div>
</body>

</html>

【讨论】:

【参考方案3】:

您可以尝试使用:

divElement.childNodes[0].style.display = "inline";//show element
divElement.childNodes[0].style.display = "none";//hide element

第一个显示父元素内的第一个元素,第二个隐藏它。希望我能帮上忙!

【讨论】:

【参考方案4】:

由于您没有真正给出任何具体的代码,或者您尝试过的内容。请查看 jQuery hide() 方法。 Jquery Hide Documentation这会让你朝着正确的方向前进

【讨论】:

为什么我被否决了,他问如何,我给了他一个文档链接?如果有什么对他最有帮助的话,因为根本没有细节 我不是反对者,但回答像这个问题这样糟糕的问题只会鼓励 OP,对其他人没有帮助。最好在回答之前要求 OP 改进问题 但是如果用户询问如何在没有设置细节的情况下执行此操作,那么正确方向上的点不应该与任何其他答案一样有效吗?这是社区的问题之一。与其只留下答案,有人觉得有必要说它伤害了答案吗?我叫BS 其实这不是 *** 的重点。也许是另一个堆栈交换站点....但是 SO 是针对特定问题的,而不是广泛的问题 如果你想给他指出一个方向,然后添加评论,而不是答案。

以上是关于显示和隐藏父 div 的跨度的主要内容,如果未能解决你的问题,请参考以下文章

iframe加载一个页面,在子页面中使用js 控制父页面的div显示(父页面的div刚开始是隐藏)

是否可以在 ie7 中的子跨度前面显示父跨度的边框?

对于div隐藏css中有哪几种方式定义相对和绝对有啥区别啊

如果此 div 内的元素(跨度)为空,则不显示 div

跨度在 div 内浮动 - 为啥在 IE 中换行?

如果跨度包含少于 3 个字符,则使用 jQuery 隐藏跨度父级