2012-03-22 5 views

答えて

1

私が正しくあなたを理解していれば、あなたは属性= "True"isClickedli Sを含んでいul S削除する:属性は単語"True"を含まなければならないことを

$myParent.find("li[isClicked=True]").parent("ul").remove(); 

注意を。ブール値ではなく文字列です。

Live example

以下のコメントから:

私は実際にはその逆を探しています。カスタム属性を持たないすべてのulを削除します。 (「私はそれにカスタム属性を持っているLiとのみULを削除したい」)あなたの質問のオープニング文の反対だ

。 :-)これは、ulの要素が$myParentの直接の子であると仮定した場合の例です(サンプルコードではこれを示しています)。

$myParent.children("ul").each(function() { 
    var $ul = $(this); 
    if (!$ul.find("li[isClicked=True]")[0]) { 
    // Doesn't have one, remove it 
    $ul.remove(); 
    } 
}); 

Live example


FWIW、その属性名とは限らないvalidate:それは本当ではない場合は、ちょうど.findへの最初の行に.childrenを変更します。 data-* attribute formに切り替えることを検討してください。

+0

私は実際には逆も探しています。カスタム属性を持たないすべてのulを削除します。 – ankur

+0

@ankur:それは、あなたの質問の初めの文が言っていることの反対です。 –

+0

私は最初の行を更新します。申し訳ありません。 – ankur

関連する問題