2012-08-16 42 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(...);

相关问题