2012-05-08 15 views
-1

親キーに格納されたオブジェクトをクリックする方法はありますか? plsは私のhtmlとコードに見える:Jquery:オブジェクト値をクリックして親ラベルを取得する方法

HTML:

<ul id="one"> 
    <li>0</li> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
</ul> 
<ul id="two"> 
    <li>0</li> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
</ul> 

私のコード:そして私は同様にしたい:

function makeIt(params){ 
      params.grandParent1.parent1.sector.click(function(){ 
       console.log(sectorName,parentName,grandParentName) // how can i get this call, simply how can i fetch the key of values? 

       // i expected is : sectorName : sector, parentName:parent1,grandParentName:grandParent1...like this 
      }) 
     } 
     $(document).ready(function(){ 
      params = { 
       grandParent1:{ 
        parent1:{sector:$('#one').find('li')} 
       }, 
       grandParent2:{ 
        parent2:{sector:$('#two').find('li')} 
       } 
      } 

      makeIt(params); 
     }) 

すると、これは可能ですか?どんな良い方法でもこれを達成できますか?ここ

はフィドルです:http://jsfiddle.net/SUG6h/2/

+0

なぜあなたはそのようなことをしたいですか?優れたjQuery APIの何が問題になっていますか? – gdoron

+0

とは別に、私は 'li'を取り出して、アプリケーション機能を実行するために自分のキー値を保持しています。 – 3gwebtrain

+0

達成したいことを説明できますか?あなたが書いたjsは混乱して無効です。 – Sinetheta

答えて

1

私はあなたがmakeit()内でこのような何かを探していると思う:

sectorname = Object.keys(this); 
parentname = Object.keys(this.parent); 
grandparentname = Object.keys(this.parent.parent); 

More info on Object.keys

リックは、以下に述べたように、これはではサポートされていません。 IE8 - オブジェクトのキーをループするためにfor..inステートメントを使用して情報を取得することもできます。

+0

はい、うまくいきますか? – 3gwebtrain

+0

あなたは私のjsfiddleを見ることができますか? – 3gwebtrain

+0

'$(params.grandParent1.parent1.sector).click' –

0

DOMをトラバースして、親ノードを見つけることができます。

https://developer.mozilla.org/en/DOM/Node.parentNode

すでにDOM操作のためのjQueryを使用している場合、あなたは本当に一貫性のいくつかの並べ替えを維持する必要があります。

関連する問題