6

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

4

5 回答 5

19

选择从具有 name、id 和 value 属性的 div 下降的输入。然后将每个匹配项的“类型”属性推入一个数组。

var inputTypes = [];

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

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

于 2012-08-16T08:39:59.933 回答
6

在 JQuery 中,我如何获取输入类型列表...

这?

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

property!=""不仅仅是必要的,这[property]是为了过滤掉诸如

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

(我假设您不想获得任何属性等于空字符串的输入)

于 2012-08-16T08:41:14.967 回答
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);
    }
});
于 2012-08-16T08:40:11.927 回答
2

您可以通过以下方式访问输入:

$('input')

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

于 2012-08-16T08:42:12.550 回答
0

当您想选择具有特定名称的输入时"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
});

甚至两者的结合:

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

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

于 2018-03-13T19:14:49.990 回答