我有一个li
元素,我选择这样:
var parent_li = $(this).parent();
此元素可能包含也可能不包含ul
元素。我想在ul
添加一个孩子,但如果没有ul
元素,我想先创建并添加它。
我试过了:
if( !parent_li.children('ul') )
{
//if the parent list doe not contain
//an UL element, then add one
parent_li.append($('<ul></ul>'));
}
但是,我发现parent_li.children('ul')总是返回一个对象,即使它没有任何子ul
元素。
那么我需要做什么?
答案 0 :(得分:6)
if (parent_li.children('ul').length == 0){
parent_li.append($('<ul></ul>'));
}
答案 1 :(得分:1)
正如您所说,children
方法永远不会返回假值。它返回一个具有零个或多个匹配元素的jQuery对象。您必须检查length
:
if( !parent_li.children('ul').length )
{
//if the parent list doe not contain
//an UL element, then add one
parent_li.append($('<ul></ul>'));
}