Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Jquery 删除具有相同类的元素_Jquery - Fatal编程技术网

Jquery 删除具有相同类的元素

Jquery 删除具有相同类的元素,jquery,Jquery,我已经动态构建了选项卡。添加选项卡时,您为其指定了一个类(与您为选项卡指定的名称相同),该类将添加到选项卡的说明中,该说明显示在“默认说明”字段下 问题是,当我删除一个选项卡时,我会搜索元素并检查它们是否有特定的类,如果有,那么它们就会被删除。当然,只有tab本身被删除,而不是它的描述,尽管描述也有与tab相同的类。 这是我的建议 我负责删除选项卡和描述的代码位于JavaScript部分的第59-66行(粘贴在下面) 尝试更改$(“li”).hasClass($thisClass).remove

我已经动态构建了选项卡。添加选项卡时,您为其指定了一个类(与您为选项卡指定的名称相同),该类将添加到选项卡的说明中,该说明显示在“默认说明”字段下

问题是,当我删除一个选项卡时,我会搜索
  • 元素并检查它们是否有特定的类,如果有,那么它们就会被删除。当然,只有tab本身被删除,而不是它的描述,尽管描述也有与tab相同的类。 这是我的建议

    我负责删除选项卡和描述的代码位于JavaScript部分的第59-66行(粘贴在下面)

    尝试更改
    $(“li”).hasClass($thisClass).remove()
    $('.+$thisClass).remove()

    这将返回元素上的所有类。该元素可能有多个类。如果有,那么您将得到一个以空格分隔的列表

    另外,
    hasClass()
    返回一个布尔值。它告诉您元素是否有类

    您要执行以下操作:

    $( 'li.'+$thisClass.replace(' ', '.') ).remove();
    

    如果您的情况与fiddle中描述的相同,那么

  • 您需要从li类列表中删除类“项”
  • 用hasClass纠正错误
  • 你会得到这样的结果

            $( ".close" ).click( function(){
    
                $( this ).closest( "li" ).fadeOut( 200, function() {$( this ).remove();});
                $thisClass = $ ( this ).closest( "li" ).attr( "class" ).replace('item ','');
                alert ( $thisClass );
                $( "li."+$thisClass ).remove();
            });
    
    hasClass()
    返回一个布尔值。它告诉您元素是否有类。您可能想使用
    .filter('.+$thisClass)
    。此外,
    .attr(“class”)
    可能会返回多个类(空格分隔)。这不应该是
    $('.+$thisClass)
    或者甚至
    $('li.+$thisClass)
    $( 'li.'+$thisClass.replace(' ', '.') ).remove();
    
            $( ".close" ).click( function(){
    
                $( this ).closest( "li" ).fadeOut( 200, function() {$( this ).remove();});
                $thisClass = $ ( this ).closest( "li" ).attr( "class" ).replace('item ','');
                alert ( $thisClass );
                $( "li."+$thisClass ).remove();
            });