3

如何检查列表项在 jquery 中是否有超过 1 个直接跨度子元素?我现在有一些东西:

if ( $('li:has(span)') ) {
   alert ('has span');
}

当有一个跨度子元素时,以及如果嵌套的 li 本身具有一个或多个跨度子元素时,它就会发出警报。

4

3 回答 3

5

如果有 2 个或更多子span元素,这将发出警报。

$('li').each(function(){
    if($('> span',this).length >= 2)
    {
       alert('has span');
    }
});

或使用 A. Wolff 过滤器答案。

$('li').filter(function(){return $('> span',this).length > 1;});

http://jsfiddle.net/6tzbJ/

于 2013-09-20T11:32:12.010 回答
0
if ( $('li > span:eq(0)').length > 0 ) {
   alert ('has span');
}
于 2013-09-20T11:44:29.987 回答
0
if ( $('li > span:eq(1)').length ) {
   alert ('has span');
}

小提琴

于 2013-09-20T11:34:46.767 回答