2012-04-23 11 views
0

イム持っすでにいけない場合:jQueryのwrapAllの子供たち、彼らは「親」のクラスを持つdiv要素と「子」のクラスにすべてのアイテムをラップするために、以下の使用して、特定のクラスを持つ親

$(".child").wrapAll('<div class="parent" />'); 

問題は関数が時々再実行され、複数のdiv.parentsを作成したくないということです。 div.parentは、div.childsにすでに親クラスが 'parent'でない場合にのみ追加されるように、コードに条件を追加するにはどうすればよいですか?

if (! $(".child").parent().hasClass('parent')){ 
    $(".child").wrapAll('<div class="parent" />'); 
} 

または使用closestlengthと:あなたはこのようなhasClass()使用することができますおかげ

答えて

1

か分からないのです

if (! $(".child").closest('.parent').length){ 
    $(".child").wrapAll('<div class="parent" />'); 
} 
0

は、それが高速です:

$(":not(.parent) > .child").wrapAll('<div class="parent" />'); 

はテストされていません!!しかし、あなたが一列にそれを行うことができます

0

$動作する可能性があり( "子 ")を親( 'P:ありません(.parent。')。。))(" 子" を見つけるwrapAll ( '');

関連する問題