如果addClass成功,如何提醒?

时间:2014-03-06 19:59:14

标签: jquery html css callback addclass

如果addClass()成功,如何使用“it working”消息发出提醒?这就是addClass()代码的样子:

$( "li.selected" ).children("ul").addClass( "childUL" );

这样做的原因是为一个li.selected的较低级别的每个ul添加一个“childUL”类,它可能看起来像这样或完全不同。:

<ul>
  <li>
    <ul>
      <li class="selected">
        <ul>
          <li>
            <ul>
              <li>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <ul>
          <li>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

在这个例子中:http://jsfiddle.net/4EbLu/27/ Zlatan Ibrahimovic没有绿色。也许这会澄清我的问题。

干杯/罗宾。

3 个答案:

答案 0 :(得分:2)

添加类

后可以使用hasClass
if($( "li.selected" ).children("ul").hasClass( "childUL" ))
{

}

答案 1 :(得分:1)

答案取决于你成功的意思。

如果答案是执行的代码,那么它是成功的,而不是在它有效之后立即添加警报。

如果您想知道是否添加了类,则需要检查返回的集的长度。这假定班级尚未在那里。

var elems = $( "li.selected" ).children("ul").addClass( "childUL" );
if ( elems.length ) {
    alert('it worked');
}

如果您只想知道新添加的类,请不要过滤掉已经拥有该类的URI。

var elems = $( "li.selected" ).children("ul").not(".childUL").addClass( "childUL" );

答案 2 :(得分:1)

addClass将始终成功。你想知道的是你的堆栈中是否有一些元素。你可以查看长度:

 var $ul = $( "li.selected" ).children("ul");
 if($ul.length)
     $ul.addClass('childUl');
 else alert('No UL');
相关问题