2016-06-23 8 views
1

このデモを見て、の子どもの下の<li>にすべて<i class="red"> + </i>を追加するコードを教えてください。私は何をしたいのは、単に<ul>の新しいセットが含まれていますが、見ることができるように、それはすべての子供たちに問題子どもがいる要素だけを選択する場合

$(function() { 
 
    $('li:has(ul)').find('span').append('<i class="red"> + </i>'); 
 
    });
.red{color:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li><span>Item 1</span></li> 
 
    <li><span>Item 2</span> 
 
    <ul> 
 
     <li><span>Item 2-1</span></li> 
 
     <li><span>Item 2-2</span></li> 
 
     <li><span>Item 2-3</span></li> 
 
     <li><span>Item 2-4</span></li> 
 
    </ul> 
 
    </li> 
 
    <li><span>Item 3</span></li> 
 
    <li><span>Item 4</span></li> 
 
</ul>

enter image description here

答えて

2
を追加している(S) <li>+を追加して

$(function() { 
 
    $('body > ul > li:has(ul)').find('> span').append('<i class="red"> + </i>'); 
 
});
.red { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li><span>Item 1</span></li> 
 
    <li><span>Item 2</span> 
 
    <ul> 
 
     <li><span>Item 2-1</span></li> 
 
     <li><span>Item 2-2</span></li> 
 
     <li><span>Item 2-3</span></li> 
 
     <li><span>Item 2-4</span></li> 
 
    </ul> 
 
    </li> 
 
    <li><span>Item 3</span></li> 
 
    <li><span>Item 4</span></li> 
 
</ul>

子孫>セレクタを使用

プレビュー

enter image description here

+0

どうもありがとうPraveenさんを対象とし

$(function() { $('li:has(ul)').children('span').append('<i class="red"> + </i>'); }); 

を探している、これはまさに私は何かということですちょうど簡単な質問を探していましたか? ' 'の中の' + 'を追加するワットがありますか? – Behseini

+0

@Behseini' append'の代わりに 'prepend'を使います。シンプル。 ':)' –

+1

確かに、ありがとう – Behseini

2

.findはli要素の子孫であるすべてのスパン要素を探しているからです。説明で述べたようにhere

次のソリューションを使用すると、li要素のちょうど子供 Demo here

関連する問題