Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
当div不在同一代码块中时,jquery用同一个类切换一个div_Jquery_Html_Css - Fatal编程技术网

当div不在同一代码块中时,jquery用同一个类切换一个div

当div不在同一代码块中时,jquery用同一个类切换一个div,jquery,html,css,Jquery,Html,Css,我有一个非常简单的问题,但我找不到解决这个问题的方法。我找到了许多关于使用.parent()、.next()、.find()的引用,但没有一个是我所期望的。所有具有相同类名的div都在同时展开和折叠,或者根本不工作 因此,我在这里寻找的是具有相同的类名,并且只展开和折叠我单击的类名。我有这样的想法: HTML: 当我只希望它在“expand”div中单击以触发下面的“extras”div时,这将扩展和折叠所有这些 指: $(this) // Start from here .

我有一个非常简单的问题,但我找不到解决这个问题的方法。我找到了许多关于使用.parent()、.next()、.find()的引用,但没有一个是我所期望的。所有具有相同类名的div都在同时展开和折叠,或者根本不工作

因此,我在这里寻找的是具有相同的类名,并且只展开和折叠我单击的类名。我有这样的想法:

HTML:

当我只希望它在“expand”div中单击以触发下面的“extras”div时,这将扩展和折叠所有这些

指:

$(this)           // Start from here
.closest("tr")    // go up
.next("tr")       // go to next
.find(".extras")  // find element
.toggle();        // do tha thing

不知道为什么每个人都使用类来进行这种行为
id
is your friend.@RokoC.Buljan重复类并添加额外代码以处理非唯一性问题,您觉得可以吗?似乎有点反模式,reallyid需要唯一性,这导致我使用一个类来实现一些不唯一的东西。它被抛出到for循环中。@Tibrogargan是的,如果HTML是以编程方式生成的,那么将ID与
data-*
结合使用是一种方法。但是使用
class
没有什么问题。您是如何生成行的?Uggh,我知道这很简单。我对jQuery还不熟悉,并且已经为此奋斗了几个小时。非常感谢。这起作用了。一旦它允许我,我会将它标记为正确:)很好的解释,顺便说一句。
$(".expand").click(function() {
    $(".extras").toggle();
});
$(".expand").click(function() {
    $(this).closest("tr").next("tr").find(".extras").toggle();
});
$(this)           // Start from here
.closest("tr")    // go up
.next("tr")       // go to next
.find(".extras")  // find element
.toggle();        // do tha thing