2016-05-14 127 views
0

下面是我的代碼:爲什麼JS '身份證' 返回undefined

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()'是傾倒出一個jQuery對象,而不是DOM元素。 – Pointy

回答

3

你的activeSlide變量有一個jQuery對象分配給它,並且不會有「id」屬性。

您可以.prop()得到ID:

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

,或者,如果你不想做一個函數調用:

var currentId = activeSlide[0].id; 

但是如果你這樣做你運行的風險如果確實沒有活動幻燈片,則爲例外。

+2

甚至沒有注意到jquery.yaps你將不得不做'activeSlide.attr('id')' –

0

我不知道我不能使用jQuery對象的JS id屬性。

我使用.attr('id')而不是.id解決了這個問題。

+0

不要發表評論作爲你的問題的答案..已經有評論區域就在你的問題之後..!用它來評論..! –

+0

公平地說,你可以回答你自己的問題,第二句回答他自己的問題。 –

+1

我在其他回覆之前發佈了此消息,以防其他人有此問題。我並沒有試圖竊取任何人的雷霆。 – JordanBarber