Javascript 使用jQuery filter()获取所有匹配的.val()

Javascript 使用jQuery filter()获取所有匹配的.val(),javascript,jquery,Javascript,Jquery,我有许多文本字段,我需要选择那些值不等于其title属性的文本字段的值 问题:通过我的尝试,下面的jQuery代码只选择第一个匹配的文本字段的值。如何获取所有匹配的文本字段值 jQuery代码 var inputs = $(".input").filter(function() { return $(this).val() != $(this).attr('title'); }).val(); console.log(inputs); .

我有许多文本字段,我需要选择那些值不等于其
title
属性的文本字段的值

问题:通过我的尝试,下面的jQuery代码只选择第一个匹配的文本字段的值。如何获取所有匹配的文本字段值

jQuery代码

var inputs = $(".input").filter(function() {
                return $(this).val() != $(this).attr('title');
            }).val();
console.log(inputs);
.val()
方法仅返回所选元素列表中第一个元素的值。请尝试将其转换为数组:

var inputs = $(".input").filter(function() {
    return $(this).val() != $(this).attr('title');
}).map(function(){
    return $(this).val();
}).get();
console.log(inputs);

这里有一种方法:

var inputs = [];
$(".input").filter(function() {
    return $(this).val() != $(this).attr('title');
}).each(function() {
    inputs.push($(this).val());
});
console.log(inputs);

示例:

这里有一个更简单的解决方案:

var input = [];
jQuery('input[type=text]').each(function(){
   if(jQuery(this).val() != jQuery(this).attr('title') ) {
   input.push(jQuery(this).val());
   }
});

是否需要将
.get()
链接到末尾?我尝试了链接
.get()
和不链接
,并在Chrome的开发者控制台中得到了相同的结果……是的,不是的。jQuery对象在技术上是数组,但它们包含您可能不需要的附加属性和方法。使用
.get()
将其转换为本机数组,而不是包含字符串数组的jQuery对象。谢谢!我尝试使用数组并在开始时推送它们,但在没有意识到
的情况下无法完成。each()
将非常有用。使用此方法,它似乎不在数组中存储textfield值,而是存储匹配DOM元素的HTML。。。你们也明白了吗?不,我已经测试了这个解决方案,正如你们所看到的,我显然在向数组中注入价值