我通过以下方式生成span标记:
var clss = $(this).attr("dclss");
<span id="'+id+'" dtype = "'+type+'" dclss="'+clss+'" dattr="'+attr+'" class=" anyi '+clss+'"></span>
当我点击这个范围时,他的班级正在变为&#34;活跃&#34;。之后,当我点击另一个范围时,我想删除这个活跃的课程,但不确定如何。我已经尝试过这个:
$(".selected .content").on('click','.close-icon', function(){
var clss = $(this).attr("dclss");
$(this).closest('.liveicon').fadeOut(500);
$("#anyi " + clss ).removeClass("active");
});
但是我的课程未定义。有关如何使用jQuery获取span类的任何想法吗?
HTML:
str += '<div class="liveicon" id="'+id+'" dtype = "'+type+'" dclss="'+clss+'" dattr="'+attr+'">';
str += '<span class="close-icon" id="close-icon">✖</span>';
str += '<span id="'+id+'" dtype = "'+type+'" dclss="'+clss+'" dattr="'+attr+'" class=" anyi '+clss+'"></span>';
str += '<div class="clearboth"></div>';
str += '<div class="codes">';
str += '<div class="tit">FONT</div><input type="text" class="fontsc" value="[anyicon i=\''+clss+'\' '+stylestr+']">';
str += '<div class="tit">PNG</div><input type="text" class="pngsc" value="[anyicon i=\''+clss+'\' '+stylestr+' type=\'png\']">';
str += '<div class="tit">SVG</div><input type="text" class="svgsc" value="[anyicon i=\''+clss+'\' '+stylestr+' type=\'svg\']">';
str += '</div>';
str += '</div>';
答案 0 :(得分:0)
&#34; dclss&#34;不是有效的html属性,因此可能导致问题。通常,对于自定义属性,您应该使用&#34;数据 - &#34;前缀,所以请尝试使用&#34; data-previous-class&#34;。
另一种方法是使用属性而不是CSS类,所以只需执行$(this).attr(&#34; data-is-active&#34;,&#34; false&#34;)和$ (这).attr(&#34;数据有效&#34;,&#34;真&#34;)。您可以像这样编写一个css选择器:
span[data-is-active="false"] {
//inactive CSS
}
span[data-is-active="true"] {
//active CSS
}