jQuery - 找到一个存在的类并返回true/false

use*_*007 15 javascript jquery find

我想检查一个子li类中是否存在类,如果类存在返回true或者defined.

HTML

<li class="show-more">
<a> if found selected then add to this</a>
<ul>
<li><a> sub-menu</a></li>
<li><a> sub-menu</a></li>
<li><a class="selected"> sub-menu</a></li>
<li><a> sub-menu</a></li>
</ul>
</li>
Run Code Online (Sandbox Code Playgroud)

这是我的代码,但不会返回true或false,它返回锚点的url

var active_sub_menu = $('li.show-more ul li').find('selected');

alert(active_sub_menu);
if(typeof active_sub_menu == 'defined'){
    $('li.show-more > a').addClass('selected');
}
Run Code Online (Sandbox Code Playgroud)

请不要建议使用CSS,我只需要javascript

Rok*_*jan 30

为什么不简单地去.hasClass()length:

if ( $("selector").length ) {   /*EXISTS (greater than 0) */  }
Run Code Online (Sandbox Code Playgroud)

要么

if ( $("selector")[0] ) {   /*EXISTS (not undefined) */  }
Run Code Online (Sandbox Code Playgroud)

if ( $("selector").hasClass("someClass") ) {   /*EXISTS (has class) */  }
Run Code Online (Sandbox Code Playgroud)
$('.show-more').each(function () {

  if ( $(this).find("li a.seleted").length ) {
    console.log('FOUND');
    $(this).children("a").addClass('selected'); // Make main anchor  also selected 
  } else {
    console.log('NOT FOUND');
  }

});
Run Code Online (Sandbox Code Playgroud)
.selected {
  background: red;
}
Run Code Online (Sandbox Code Playgroud)