在JQuery中,如何获得任何div中存在名称,id和值的输入类型列表?
答案 0 :(得分:16)
选择从具有name,id和value属性的div下降的输入。然后将每个匹配项的“type”属性推送到数组中。
var inputTypes = [];
$('div input[name][id][value]').each(function(){
inputTypes.push($(this).attr('type'));
});
答案 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。