寻找解决方案如何检测li是否有孩子ul或ol我发现jquerys has()这是非常棒的,除了我需要检测是否只有实际点击li有一个孩子,而不是任何一个兄弟姐妹。有没有办法做到这一点?文档不包括这一点。JQuery检查是否点击li有孩子ol/ul
HTML
<ol>
<li><a class="delete-li" href="">Page 1</a></li>
<li><a class="delete-li" href="">Page 2</a></li>
<li><a class="delete-li" href="">Page 3 has ol</a>
<ol>
<li><a class="delete-li" href="">Page 4</a></li>
<li><a class="delete-li" href="">Page 5</a></li>
<li><a class="delete-li" href="">Page 6</a></li>
</ol>
</li>
</ol>
JS
$('.delete-li').live('click', function(event){
event.preventDefault();
item_id = $(this).attr('rel');
clicked = $(this);
////////////////////
//check if has sub pages
if(clicked.has('ol')){
answer = confirm('This will delete all sub pages and content are you sure?');
console.log(answer);
if(answer===true){gogogo=true;
}else{gogogo=false;}
}else{ gogogo=true;}
//if yes run AJAX delete
if(gogogo===true){
alert('LI REMOVED');
}
////////////////
});
结帐的jsfiddle的代码。
感谢您的答案,但它不工作http://jsfiddle.net/ZqzVN/1/也可能你提供的任何了解为什么。长度是那里? –
@TommyArnold我已经更新了答案,'length'返回jQuery集合中选定元素的数量,如果所选元素的长度大于0,那么'if'语句赋值为true。 – undefined
感谢您的解释 –