检查class属性是否为空,然后如果jQuery为true则将其删除

Glo*_*lo 16 jquery

我想从具有空类属性的所有元素中删除class属性.

例如:

`<li class="">One</li>`
Run Code Online (Sandbox Code Playgroud)

<li>One</li>
Run Code Online (Sandbox Code Playgroud)

我一直在努力解决这个问题!我得到的最接近的是

var len = $(".splitcolcontainer ul li[class]").val().length;
 if (len == 0)
  {
  $('.splitcolcontainer ul li').removeAttr("class");
  }
Run Code Online (Sandbox Code Playgroud)

但没有雪茄.我知道这将是非常简单,但没有任何谷歌搜索给我的光!干杯.

编辑:由于人们问我为什么要删除它,这里是整个脚本:

$(document).ready(function() {
     $( '.splitcolcontainer ol, .splitcolcontainer ul').each(function() {
          if($(this).is("ol")) { var ordered = true; }
          var colsize = Math.round($(this).find("li").size() / 2);
          $(this).find("li").each(function(i) {
               if (i>=colsize) {
                    $(this).addClass('right_col');
               }
            });
          if(ordered) {
               $(this).find('.right_col').insertAfter(this).wrapAll("<ol class='splitcol' start='" + (colsize+1) + "'></ol>").removeClass("right_col");

          } else {
                $(this).find('.right_col').insertAfter(this).wrapAll("<ul class='splitcol'></ul>").removeClass("right_col");            
            }

     });


    $('.splitcolcontainer').after('<div class="clear">&#160;</div>');
    $('.splitcolcontainer ul, .splitcolcontainer ol').wrap('<div></div>');
});
Run Code Online (Sandbox Code Playgroud)

有一个空类的原因是因为我正在添加类'right_col',然后在以后删除它.我不知道是否会有其他类,所以我需要检查该属性是否为空.感谢你目前的帮助!

Dav*_*und 20

$('*[class=""]').removeAttr('class');
Run Code Online (Sandbox Code Playgroud)


Cur*_*Dog 6

我同意,removeClass留下一个空的类属性很奇怪。我期望后addClassremoveClass将在DOM恢复到原来的状态。

我最终做的是:

$(this).removeClass("my-class").filter('[class=""]').removeAttr('class');
Run Code Online (Sandbox Code Playgroud)

这应该是相当高效的。

(我的代码用于 HTML 编辑器,因此生成的代码尽可能干净很重要。)