2016-05-14 11 views
0

を返すJS 'ID' は、私のコードです:はなぜ以下は未定義

var activeSlide = $('.slide').filter(':visible'); 
    var currentId = activeSlide.id; 
    console.log(activeSlide); 
    console.log(currentId); 

私の最初のコンソールログには、HTMLオブジェクトを返すされています

[div#slide-2.slide.current, prevObject: p.fn.init[5], context: document] 

しかし、私の第二にconsole.log()戻っています'未定義'。私はここに何かを逃していますか

+0

あなたの文書のHTMLコードも投稿してください。 – kkaosninja

+0

問題のhtmlを追加してください –

+0

最初の 'console.log()'はDOM要素ではなくjQueryオブジェクトをダンプしています。 – Pointy

答えて

3

activeSlide変数にはjQueryオブジェクトが割り当てられており、そのプロパティには「id」プロパティはありません。

あなたは.prop()でIDを取得することができます:あなたが危険を冒すことを行う場合は

var currentId = activeSlide[0].id; 

:あなたが関数呼び出しをしたくない場合は、

var currentId = activeSlide.prop("id"); 

をか実際にアクティブなスライドがない場合は例外です。

+2

jquery.yapsに気付かなかったのですが、 'activeSlide.attr( 'id')' –

0

JS idプロパティをjQueryオブジェクトで使用できないことはわかりませんでした。

.idではなく.attr('id')を使用して解決しました。

+0

あなたの質問への回答としてコメントを投稿しないでください。コメントするためにそれを使用してください..! –

+0

公正であればあなた自身の質問には答えが許され、2番目の文は自分の質問に答えます。 –

+1

他の誰かがこの問題を抱えている場合に備えて、これを投稿しました。私は他の誰の雷を盗もうとしていませんでした。 – JordanBarber

関連する問題