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_Css - Fatal编程技术网

Javascript 如何切换动态创建的div';基于类和名称属性,修改了吗?

Javascript 如何切换动态创建的div';基于类和名称属性,修改了吗?,javascript,jquery,css,Javascript,Jquery,Css,以下是我的参考代码: $('#main_div').on('click','.gclass', function(){ $(this).css('color','#0088cc'); if($(this).next().hasClass('gclass2') || $(this).next().next().hasClass('gclass3')){ console.log('1st child or 2nd child');

以下是我的参考代码:

$('#main_div').on('click','.gclass', function(){        
    $(this).css('color','#0088cc'); 
    if($(this).next().hasClass('gclass2') || $(this).next().next().hasClass('gclass3')){
        console.log('1st child or 2nd child');          
        $(this).parent().find('.gclass2,.gclass3').slideToggle();
    }   
    return false;
});
我动态创建了两个div,它们具有相同的类“.gclass”。 当我点击“.gclass”时,带有“.gclass2”和“.gclass3”的div被切换

当我点击class.gclass的一个div时,另一个div having.gclass也被切换,我不想这样做

请给我任何提示

对于CSS,我尝试过:

 $(".gclass").not(this).css("color", "#6e6e6e");        
但是对于slideToggle()可以做什么?

对于
slideToggle()
您可以编写自定义过滤器,过滤掉您的元素:

var that = this;
$(this).parent().find('.gclass2,.gclass3').filter(function() {
    return $(this).prev()[0] === that || $(this).prev().prev()[0] === that
}).slideToggle();

工作示例请参见此处:

您可以添加html以查看其结构吗?以下内容适用。-(这)是单击的对象,因此无需使用
.parent()
<代码>$(this).find('.gclass2.gclass3').slideToggle()$(this).parent().find('.gclass2.gclass3').slideToggle(“slow”);这是行不通的。这是我的html结构。但我是动态地这样做的。此引用链接具有静态HTML结构。如果我增加或减少每个div中的项目,那么如何处理slideToggle中的这个问题?@Nicolas Marengo:我按照您的示例对div进行了更改。现在对我来说很好。非常感谢,谢谢。但是我会改变每个分区的项目数量。那么在这种情况下我能做什么呢?@eegloo您的DOM结构有几个问题:1。
gclass
gclassN
(其中N是数字)都在同一水平上,没有任何东西可以包裹每组;2.所有
gclassN
元素之间没有共享类。解决这些问题会让你的生活更轻松。不过,对于您的情况也有一个解决方案,我在DOM中做了一些更改。div.gclass是父div,其他div.gclassN是div.gclass的子级。因此,使用“”解决了我的项目需求。实际上,我想对同一级别的div执行此操作。你的回答也很好。谢谢。