2016-08-18 1 views
-1

この問題がスタックされています。 'li'に子 'ul'があるかどうかを知りたいです。私はコンソール( 'span'要素に添付されたonclickイベントを使用して) 'li'のすべての子(.children()メソッドを使用)と 'ul'がリストされますが、.find()メソッドを使用すると、長さjqueryで.find()を使用して特定のタグを見つけることができません

これは私のコードです:

HTML:

<div> 
    <ul> 
     <li><input type="checkbox"/><span>LIST ONE</span></li> 
     <li> 
      <input type="checkbox"/> <span>LIST TWO</span> 
      <ul> 
       <li><input type="checkbox"/> <span onclick="myFunc(this)">SUB LIST ONE</span></li> 
       <li><input type="checkbox"/> <span>SUB LIST TWO</span></li> 
      </ul> 
     </li> 
    </ul> 
</div> 

JS:

function myFunc(el){ 
    var x = $(el).parent(); //the li 
    var xx = $(x).parent().parent(); //the parent the ul 
    console.log($(xx).children()); //ul will be listed here 
    console.log($(xx).children().find('ul')); //this return 0 length which I believe ul is not found 
} 

本当にここが起こりますか?ご協力ありがとうございました! (jQueryのnewbee)あなたは、ULを見つけるために$('xx').find('ul')を使用することができます

+1

'VARのX 'と' xx'はjqueryの変数であり、そしてそれは、文字列 – Joaquinglezsantos

答えて

0

または$('xx').closest('ul')

+0

.closest( 'UL')をSPECTときに再び呼び出し、 '$(XX)' jqueryのをロギングを選択する方法メソッドがliの親のulを返します。私がliの唯一のulの子を取得したい場合はどうなりますか?ありがとうございました! –

+0

$(el).closest( 'ul')は子供ul – AmgadMHM

+0

ありがとうございます!私は何かを逃した。良い一日! –

0

あなたはあなたのコードではあまりにも不快なものだ、このソリューションはスケーラブルではありませんが、それはのように、この例では動作しますが、あなたのul

function myFunc(el){ 
    // Grabs the <span> tag 
    var x = $(el).parent().parent(); 
    // Creates a jQuery object out of the list item above. 
    console.log(x) 
} 
関連する問題