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();
});