Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“更多”;按钮仅展开一个特定的div_Javascript_Jquery - Fatal编程技术网

Javascript &引用;“更多”;按钮仅展开一个特定的div

Javascript &引用;“更多”;按钮仅展开一个特定的div,javascript,jquery,Javascript,Jquery,我的jquery代码有问题。我有两个部分(续)。在这台铸币机上,我有类似的结构。代码如下。我想做的是,当我在第一个容器中单击“更多”按钮时,我只想在此分区中显示隐藏信息。当我在第二个容器中单击“更多”时,我只想在此分区中显示隐藏信息。如何操作?现在我的按钮展开所有div中的所有隐藏信息 $('.info').hide(); $('.show info')。单击(函数(){ $('.info').slideToggle(“快速”); }); adsadasdasd Lorem ipsum do

我的jquery代码有问题。我有两个部分(续)。在这台铸币机上,我有类似的结构。代码如下。我想做的是,当我在第一个容器中单击“更多”按钮时,我只想在此分区中显示隐藏信息。当我在第二个容器中单击“更多”时,我只想在此分区中显示隐藏信息。如何操作?现在我的按钮展开所有div中的所有隐藏信息

$('.info').hide();
$('.show info')。单击(函数(){
$('.info').slideToggle(“快速”);
});

adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。 adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。
使用
next()
函数查找下一个信息并切换它。另外,如果您想在页面加载时隐藏它们,请使用css调用hide on onload或将它们保持在display none中

$('.show info')。单击(函数(){
$(this.next(.info”).slideToggle(“fast”);
});

adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。 adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。
使用以下代码:

$('.info').hide();
$('.show info')。单击(函数(){
$('.info').slideUp('fast');
$(this).closest(.row”).find(.info”).slideToggle('fast');
});

adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。 adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。
当我在第二个容器中单击“更多”时,我只想在这个div中显示隐藏的信息

现在我的按钮展开所有div中的所有隐藏信息

问题是您正在使用

$(".info").slideToggle()
上面写着:滑动将所有项目与类
.info
进行切换-相反,您只需要限制与单击的按钮匹配的
.show info

您可以在事件处理程序中使用
this

根据这些信息,查找相关项取决于HTML结构,并且对于每个场景都是不同的。就本问题而言:

$('.info').closest(".row").hide();
$('.show-info').click(function(){
    $(this).closest('.row').next().slideToggle("fast"‌​);
});
其中每个信息/显示信息都位于后续的
行上

.nextAll().first()
的OPs注释与
.next()
相同-您通常会使用
.nextAll(filter.first()

(您还需要更改初始的
隐藏
,使其隐藏
行以匹配幻灯片)


更新:假设问题/评论中描述了以下html:

<div class="container">
  <div class="row">
    <p>some info</p>
    <a href="#" class="btn btn-default show-info">more</a>
  </div>
  <div class="row">
    <div class="info">
       <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro perspiciatis sequi, modi architecto assumenda perferendis tenetur sunt optio quaerat est id atque, laudantium numquam distinctio sint provident, necessitatibus nobis nesciunt.</div>
    </div>
  </div>
  <div class="row">
    <p>second row of info</p>
    <a href="#" class="btn btn-default show-info">more</a>
  </div>
  <div class="row">
    <div class="info">
       <div>Second set of expanded info.</div>
    </div>
  </div>
</div>

最好的方法是找到当前行中的隐藏信息并滑动切换

请看一下代码片段:


adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。 adsadasdasd

Lorem ipsum dolor sit amet,奉献精英。作为一名建筑设计师,他认为建筑的基本原则是:必须选择最合适的质量标准,并对其在节约、社会需要方面的独特性表示赞赏。 $('.info').hide(); $('.show info')。单击(函数(){ $(this.parent().find('.info').slideToggle(“fast”); });
您需要使用
以确保它只展开相关按钮。考虑到您当前的html,这可能是:
$(this).nextAll(“.info”).first().sldieToggle()修复缩进使其更加明显和健壮:
$(this).closest(“.row”).find(“.info”).slideToggle()
@freedomn-m如果我有这个结构并且我想在我的按钮后展开第一个div怎么办?然后使用“.nestest(“.container”)`假设每一行对都在它自己的容器中(根据您的问题代码)。您应该能够通过组合使用
.closest()
和/或
.nextAll(.class”).first()找到它。这个问题的关键是你需要使用
这个
,因为这个问题是关于显示一个,而不是全部。@freedomn-m这对我很有用。谢谢大家!$(this).closest('.row').nextAll().first().slideToggle(“fast”);请解释你做了什么,不是每个人都在寻找答案。当你点击链接,然后首先隐藏所有打开的div,然后在当前div中找到
.info
。打开..这不是
.next()
的工作方式。它返回下一项,然后将其过滤到类中。因此,您要么得到一项,要么一项也没有,因此不需要
.first()
,也不需要“查找所有下一个信息”-替换为
.nextAll()<div class="row" style='display:none'>
    <div class="info">