Jquery 迭代表单元格并在数组中插入数据
我需要关于简单迭代的建议 我有几个Jquery 迭代表单元格并在数组中插入数据,jquery,Jquery,我需要关于简单迭代的建议 我有几个.termeknav元素。其中一些是简单的文本(它们是元素),一些是元素。无论类型是什么,我都需要数组中的文本/值 这是我当前的代码: $('.termeknev').each(function () { if ($(this).val() === "") { termekek.push($(this).text()); } else { termekek.push($(this).val()); } })
.termeknav
元素。其中一些是简单的文本(它们是
元素),一些是
元素。无论类型是什么,我都需要数组中的文本/值
这是我当前的代码:
$('.termeknev').each(function () {
if ($(this).val() === "") {
termekek.push($(this).text());
} else {
termekek.push($(this).val());
}
});
但我觉得它不漂亮。有没有办法使它更干净或更简单?因为val()
只用于表单控件,我建议您测试元素的类型。td
的值将是未定义的
,这将偏离当前逻辑
$('.termeknev').each(function () {
if ($(this).is(':input') { /* pseudo selector will return any input, select, textarea etc */
termekek.push($(this).val());
} else {
termekek.push($(this).text());
}
});
由于val()
仅用于表单控件,我建议您测试元素的类型。td
的值将是未定义的
,这将偏离当前逻辑
$('.termeknev').each(function () {
if ($(this).is(':input') { /* pseudo selector will return any input, select, textarea etc */
termekek.push($(this).val());
} else {
termekek.push($(this).text());
}
});
由于val()
仅用于表单控件,我建议您测试元素的类型。td
的值将是未定义的
,这将偏离当前逻辑
$('.termeknev').each(function () {
if ($(this).is(':input') { /* pseudo selector will return any input, select, textarea etc */
termekek.push($(this).val());
} else {
termekek.push($(this).text());
}
});
由于val()
仅用于表单控件,我建议您测试元素的类型。td
的值将是未定义的
,这将偏离当前逻辑
$('.termeknev').each(function () {
if ($(this).is(':input') { /* pseudo selector will return any input, select, textarea etc */
termekek.push($(this).val());
} else {
termekek.push($(this).text());
}
});
在each中,此变量将是一个DOM对象。使用$。每个(idx,obj)
并在循环中使用$(obj)
访问对象。这是最简洁的。您正尝试组合不同的接口-这样做时,您必须使用它们相应的接口。使用DOM方法this.value而不是$(this.val(),这样if条件将如下所示:如果在each中使用(this.value===“”),则this变量将是DOM对象。使用$。每个(idx,obj)
并在循环中使用$(obj)
访问对象。这是最简洁的。您正尝试组合不同的接口-这样做时,您必须使用它们相应的接口。使用DOM方法this.value而不是$(this.val(),这样if条件将如下所示:如果在each中使用(this.value===“”),则this变量将是DOM对象。使用$。每个(idx,obj)
并在循环中使用$(obj)
访问对象。这是最简洁的。您正尝试组合不同的接口-这样做时,您必须使用它们相应的接口。使用DOM方法this.value而不是$(this.val(),这样if条件将如下所示:如果在each中使用(this.value===“”),则this变量将是DOM对象。使用$。每个(idx,obj)
并在循环中使用$(obj)
访问对象。这是最简洁的。您正在尝试组合不同的接口-进行组合时必须使用它们相应的接口。使用DOM方法this.value而不是$(this.val(),这样if条件将如下所示:if(this.value==“”)