将html输入值放入javascript对象

将html输入值放入javascript对象,javascript,jquery,Javascript,Jquery,为什么这段代码不给我一个对象,其中键作为文本输入的ids,值作为文本输入的值 JS HTML 这是因为您的输入没有type=“text”因此$('input[type=“text”].address')没有返回任何内容 最好添加它们以表示输入是文本类型。这是因为您的输入没有type=“text”,因此$('input[type=“text”].address')不会返回任何内容 最好添加它们以表示输入为文本类型。您的输入没有[type=text]属性,因此您的选择器与它们都不匹配。只需将其移

为什么这段代码不给我一个对象,其中键作为文本输入的
id
s,值作为文本输入的值

JS

HTML



这是因为您的输入没有
type=“text”
因此
$('input[type=“text”].address')
没有返回任何内容


最好添加它们以表示输入是文本类型。

这是因为您的输入没有
type=“text”
,因此
$('input[type=“text”].address')
不会返回任何内容


最好添加它们以表示输入为文本类型。

您的输入没有
[type=text]
属性,因此您的选择器与它们都不匹配。只需将其移除,或使用选择器:

var address = {};
$(':text.address').each(function (index, element) {
    address[element.id] = element.value;
});
console.log(address);

()

您的输入没有
[type=text]
属性,因此您的选择器与它们都不匹配。只需将其移除,或使用选择器:

var address = {};
$(':text.address').each(function (index, element) {
    address[element.id] = element.value;
});
console.log(address);
()

使用
这个

 $('input.address').each(function () {      
        address[this.id]= $(this).val();
 });
演示

使用

 $('input.address').each(function () {      
        address[this.id]= $(this).val();
 });

演示

jQuery属性选择器(以及浏览器查询选择器)使用DOM元素,而不是它们的属性。如果在输入元素上没有明确的
type
属性声明,
$(“[type]”)和
文档。即使元素的type属性是
text
(),querySelector(“[type]”)也不会找到该元素


最简单的解决方案是向HTML中的输入元素添加
type=text
。另一种方法是使用不需要此属性定义的其他选择器。最后(也是最不可取的)是创建一个单独的选择器,例如检查元素类型属性的
:prop
。但是,这已经以jQuery的
:text

的形式存在。jQuery属性选择器(以及浏览器查询选择器)使用DOM元素,而不是它们的属性。如果在输入元素上没有明确的
type
属性声明,
$(“[type]”)和
文档。即使元素的type属性是
text
(),querySelector(“[type]”)也不会找到该元素

最简单的解决方案是向HTML中的输入元素添加
type=text
。另一种方法是使用不需要此属性定义的其他选择器。最后(也是最不可取的)是创建一个单独的选择器,例如检查元素类型属性的
:prop
。然而,这已经以jQuery的
:text

的形式存在,请尝试一下这个

试试这个


@ExplosionPills添加了它。@ExplosionPills添加了它。然而,即使添加了它,我仍然只是在控制台中获取对象@托马斯:展开它,你会看到它的属性。您的示例对我很有用。但是,即使添加了它,我仍然只是在控制台中获取对象@托马斯:展开它,你会看到它的属性。你的例子对我很有用。我不知道你为什么会投反对票,但是你能解释一下为什么使用
这个
会比jquery的
每个(索引,元素){}
更好吗?谢谢好吧,这不是更好,但是在这种情况下不需要索引和元素。不知道为什么会投反对票,但是您能解释一下为什么使用jquery的
每个(索引,元素){}
会更好吗?谢谢好吧,这不是更好,但在这种情况下不需要索引和元素,明白了。这很有道理。谢谢,明白了。这很有道理。非常感谢。
$(document).ready(function () {
    $('#btn').on('click', function () {
        var address = {};
        $('.address').each(function (index, element) {
            address[element.id] = $(element).val();
        });
        console.log(address);
    });
});