如何在单个div中显示和隐藏元素?

飞猫

我有一个奇怪的案例需要帮助。

我试图在用户单击按钮时隐藏并显示某些内容。

我的HTML

   <div class='slide-content'>
        <h1>Title</h1>
        <div class='title-bar'>
            sub title here
            <div class='edit-container'>
                <a class='edit' href='#'>Edit</a>
            </div>
        </div>
        <div id='content' class='details'>
            <div class='contents'>
                 <p>contents here</p>
            </div>
            <div class='break'></div>
        </div>
        <div id='edit-content' class='content-details'>
             <div class='contents'>
                <div class='editable-content'>
                    contents here…...                          
                </div>
            </div>             
            <div class='break'></div>
        </div>
    </div>

    <div class='slide-content'>
     …...

另外10个幻灯片内容div…

jQuery的

   $('.edit').on('click', function(e){
       e.stopPropagation();
       if($(this).text()=='Edit'){
           $(this).text('Done');
           $(this).closest('.slide-content').find($('.content-details')).show();
           $(this).closest('.slide-content').find($('.details')).hide();
       }else{
           $(this).text('Edit');
           $(this).closest('.slide-content').find($('.content-details')).hide();
           $(this).closest('.slide-content').find($('.details').show());
       }
   })
});

的CSS

.content-details{
  display:none;
}

我的问题是,当我edit第一次单击按钮时,它显示了我的.content-details并且隐藏了.detaildiv。但是,当我edit再次单击该按钮时,它将显示.details页面中的每个div(即使它位于不同的.slide-contentdiv下)。我的意图是.detail在当前情况下仅显示1格.slide-content.

我不确定这里会发生什么。有人可以帮我吗?非常感谢!

杰森

您没有正确关闭括号:

$(this).closest('.slide-content').find($('.details').show());

为了更清楚地看到问题:

$(this).closest('.slide-content').find(
    $('.details').show()
);

因此您正在明确呼叫$('.details').show()

你要这个:

$(this).closest('.slide-content').find($('.details')).show();

但是实际上,您不需要使用的jquery对象find(),因此,效果也一样好(在这里以及您正在使用此模式的其他地方):

$(this).closest('.slide-content').find('.details').show();

另外,作为最后的提示,我认为简化代码并使用一些缓存将是很好的:

$('.edit').on('click', function (e) {
    e.stopPropagation();
    var $this = $(this);
    $this.text($this.text() == 'Edit' ? 'Done' : 'Edit');
    $this.closest('.slide-content').find('.content-details, .details').toggle();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在div中隐藏单个按钮

来自分类Dev

如何在AngularJS中显示隐藏的元素?

来自分类Dev

如何在流星中隐藏/显示元素?

来自分类Dev

如何在DIV中隐藏特定的A元素

来自分类Dev

如何根据下拉选择显示和隐藏div元素

来自分类Dev

如何在Android中显示webView和隐藏其他元素

来自分类Dev

如何在一个选择器jQuery中显示和隐藏多个元素?

来自分类Dev

如何在Android中显示webView和隐藏其他元素

来自分类Dev

如何在HTML中使用href隐藏和显示元素

来自分类Dev

如何隐藏和显示div

来自分类Dev

如何在动态数组中显示/隐藏 v-for 元素?

来自分类Dev

如何在Vue js中根据另一个div中单击的内容显示和隐藏div?

来自分类Dev

如何在Bootstrap 3中对SelectedIndex显示/隐藏Div?

来自分类Dev

如何在R中隐藏和调用列表的元素?

来自分类Dev

如何在单个调用中同时获取隐藏文件和非隐藏文件

来自分类Dev

使用两个或多个按钮在单个DIV中显示/隐藏和替换文本

来自分类Dev

如何在单个活动中显示多个标题和点

来自分类Dev

反应-隐藏并显示单个元素

来自分类Dev

如何在景观中隐藏和显示主人?

来自分类Dev

如何在OpenLayers 3中隐藏和显示功能?(重画?)

来自分类Dev

如何在Vanilla JS中显示和隐藏文本?

来自分类Dev

我如何在jQuery Mobile中隐藏和显示图像

来自分类Dev

如何在C#中隐藏和显示表格?

来自分类Dev

如何在PySide中显示和隐藏QtGui.QGridLayout

来自分类Dev

如何在android中隐藏和显示进度条?

来自分类Dev

如何在 Swift 中扩展 UIViewController 以隐藏和显示 StatusBar

来自分类Dev

如何在单个部分中显示在angularjs中隐藏多个页面

来自分类Dev

显示和隐藏jQuery中的不同元素

来自分类Dev

隐藏和显示 DOM 中的嵌套元素

Related 相关文章

  1. 1

    如何在div中隐藏单个按钮

  2. 2

    如何在AngularJS中显示隐藏的元素?

  3. 3

    如何在流星中隐藏/显示元素?

  4. 4

    如何在DIV中隐藏特定的A元素

  5. 5

    如何根据下拉选择显示和隐藏div元素

  6. 6

    如何在Android中显示webView和隐藏其他元素

  7. 7

    如何在一个选择器jQuery中显示和隐藏多个元素?

  8. 8

    如何在Android中显示webView和隐藏其他元素

  9. 9

    如何在HTML中使用href隐藏和显示元素

  10. 10

    如何隐藏和显示div

  11. 11

    如何在动态数组中显示/隐藏 v-for 元素?

  12. 12

    如何在Vue js中根据另一个div中单击的内容显示和隐藏div?

  13. 13

    如何在Bootstrap 3中对SelectedIndex显示/隐藏Div?

  14. 14

    如何在R中隐藏和调用列表的元素?

  15. 15

    如何在单个调用中同时获取隐藏文件和非隐藏文件

  16. 16

    使用两个或多个按钮在单个DIV中显示/隐藏和替换文本

  17. 17

    如何在单个活动中显示多个标题和点

  18. 18

    反应-隐藏并显示单个元素

  19. 19

    如何在景观中隐藏和显示主人?

  20. 20

    如何在OpenLayers 3中隐藏和显示功能?(重画?)

  21. 21

    如何在Vanilla JS中显示和隐藏文本?

  22. 22

    我如何在jQuery Mobile中隐藏和显示图像

  23. 23

    如何在C#中隐藏和显示表格?

  24. 24

    如何在PySide中显示和隐藏QtGui.QGridLayout

  25. 25

    如何在android中隐藏和显示进度条?

  26. 26

    如何在 Swift 中扩展 UIViewController 以隐藏和显示 StatusBar

  27. 27

    如何在单个部分中显示在angularjs中隐藏多个页面

  28. 28

    显示和隐藏jQuery中的不同元素

  29. 29

    隐藏和显示 DOM 中的嵌套元素

热门标签

归档