2012-11-21 17 views
5

我正在嘗試使用JQuery來獲取控件的類型,並且以下是我正在使用的代碼。使用JavaScript和JQuery獲取控件的類型

$('#selCity').attr('type') 

其中selCity是類型select。當我嘗試上面的代碼時,它返回爲未定義的,但是當我使用Javascript的替代代碼時,它返回正確的類型。

請看看這個小提琴清楚地瞭解它:http://jsfiddle.net/Ye8e9/

莫非我如何能達致這正確使用JQuery有人建議嗎?這是JQuery的問題還是我犯了一個錯誤?

回答

8

使用

$('#selCity').prop('type') 

在jQuery 1.6的,所述.attr()方法返回未定義對於尚未被設置的屬性 。另外,.attr()不應該用於 純文本對象,數組,窗口或文檔。要檢索並更改DOM屬性,請使用.prop()方法。

Reference

DEMO

+0

'prop'是否適用於所有控件類型? –

+0

@AbishekRSrikaanth yes – Sibu

+0

@AbishekRSrikaanth檢查我的參考 – Sibu

4

,如果你的意思是標籤的類型,使用這種

$("#selCity").get(0).tagName 

See your demo here

+0

拉布·納瓦斯,有沒有辦法,我可以按照獲得的所有控件的通用方法。如果我嘗試上面的代碼爲文本框,我得到值「輸入」,並與此輸出不知道如果該控件是隱藏字段或文本框或密碼字段。 –

0

使用節點名稱來獲得 '標籤的類型'。 '.type'是指選擇不具有的屬性'type'。

document.getElementById('selCity').nodeName 
+0

我不確定或不明白你的意思的屬性'類型'不存在選擇控制。當執行以下代碼時,javascript如何輸出數據 document.getElementById('selCity')。type –

0

你越來越不確定,因爲沒有在選擇類型屬性。

試試這個

$('#selCity')[0].tagName;