2012-08-16 40 views
6

在JQuery中,如何獲取名稱,ID和值存在於任何div的輸入類型列表?在JQuery中獲取名稱,ID和值的所有輸入類型

+0

Ozzone你能發佈一段HTML的HTML和你想從中選擇哪些元素? – 2012-08-16 08:44:20

+0

Elclanrs,對我來說這個問題非常清楚。如果你需要澄清,你應該問。您的評論不具有建設性,因爲它不表示*爲什麼* – 2012-08-16 08:44:22

回答

14

選擇同時具有名稱,ID和值屬性的div的輸入。然後將每個匹配項的「type」屬性推入一個數組中。

var inputTypes = []; 

$('div input[name][id][value]').each(function(){ 
    inputTypes.push($(this).attr('type')); 
}); 

http://api.jquery.com/multiple-attribute-selector/

+3

這是一個或非,而不是一個。 – 2012-08-16 08:40:17

+0

@AnthonyGrist你是什麼意思? – undefined 2012-08-16 08:41:04

+3

@undefined我的意思是問題是要求輸入一個名稱和一個ID和一個值,但答案中的代碼返回輸入名稱或一個ID或一個值。 – 2012-08-16 08:42:29

2

你可以看一下每個輸入,得到它們的屬性和核對每個空字符串。你可以使用任何你想呈現它們的方法,在這裏我只是將它們添加到數組中。

var inputs = new Array(); 

$("input").each(function() { 
    var name = $(this).attr("name"); 
    var id = $(this).attr("id"); 
    var val = $(this).val(); 

    if ((name) && name !== "") && ((id) && id !== "") && ((val) && val !== "")) { 
     inputs.push(this); 
    } 
}); 
+1

如果ID未定義,該怎麼辦? 'undefined!==「」'是真的,但它絕對不應該在列表中。 – 2012-08-16 08:41:26

+0

@AnthonyGrist非常好的一點,我已經更新了我的答案來檢查一個值,它不是空的 - 引用此SO帖子:http://stackoverflow.com/questions/154059/what-is-the-best-way -to-檢查換一個空字符串,在JavaScript的 – 2012-08-16 08:58:37

5

jQuery中,我怎樣才能得到輸入類型的列表...

這?

var inputTypes = []; 
$('input[name!=""][value!=""][id!=""]').each(function() { 
    inputTypes.push($(this).prop('type')); 
}); 

property!=""需要的不僅僅是[property],這是過濾掉像

<input type="text" name="something" value="" id="someId" />

(我假設你不想讓輸入任何財產等於空字符串的東西)

2

你可以通過輸入訪問:

$('input') 

然後通過例如.attr('type'),.attr('id')獲得您想要的屬性。如果你需要列表寫入他們陣列是$('input').each(...);

相關問題