在JQuery中获取名称,id,值的所有输入类型

时间:2012-08-16 08:36:54

标签: jquery

在JQuery中,如何获得任何div中存在名称,id和值的输入类型列表?

5 个答案:

答案 0 :(得分:16)

选择从具有name,id和value属性的div下降的输入。然后将每个匹配项的“type”属性推送到数组中。

var inputTypes = [];

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

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

答案 1 :(得分: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 :(得分:3)

您可以查看每个输入,获取其属性并检查每个输入的空字符串。您可以使用任何想要呈现它们的方法,这里我只是将它们添加到数组中。

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);
    }
});

答案 3 :(得分:2)

您可以通过以下方式获取输入:

$('input')

然后获取您想要的属性,例如.attr('type').attr('id')。如果你需要列表,将它们写入数组是$('input').each(...);

答案 4 :(得分:0)

如果您想选择具有特定名称的输入,例如childrenA = childrenA.filter(function(childA) { return childrenB.some(function(childB) { return childA.name !== childB.name; }); }); ,请执行以下操作:

"foo"

或者你可能想要得到价值与$('div input[name="foo"]').each(function(){ // your program logic goes here // this.val("123") }); 不匹配的那些:

"123"

甚至两者兼而有之:

$('div input[value!="123"]').each(function(){
     // your program logic goes here
});

有关详细信息,请参阅JQuery API Reference