jQuery .each 用于子元素
jQuery .each for Sub-elements
我正在尝试使用 jquery,它是在这种类型的结构中获取值的每个函数:
<div id="test">
<p><input name="name1" value="Z1"></p>
<p><input name="name2" value="Z2"></p>
<p><input name="name3" value="Z3"></p>
<p><input name="name4" value="Z4"></p>
</div>
我试过使用
$('#test').find('input').each(function () { }
$('#test > p').children('input').each(function () { }
但我使用的值
警报($(这个)。值);
总是 'undefined'。有什么想法吗?
您应该遍历每个 <p>
标签,因为它们还有其他兄弟姐妹,然后在每个函数中找到输入并获取值。
这会起作用:
$('#test > p').each(function(){
var value = $(this).find('input').val();
});
$('#test input').each(function(i,v){
console.log($(this).val());
});
说明:我们有一个'#test input'
的选择器,这意味着我们正在直接或间接地在#test
中搜索所有input
。到目前为止,一切都很好。但是,我们需要它们的 value
s,因此,在函数内部我们记录 $(this).val()
的结果,它将值输出到控制台。
您的两种检索元素的方法都可以正常工作。您看到 undefined
是因为您访问输入值的方式:.val()
而不是 .value
.
所以:
$('#test').find('input').each(function() {
$(document.body).append($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
<p><input name="name1" value="Z1"></p>
<p><input name="name2" value="Z2"></p>
<p><input name="name3" value="Z3"></p>
<p><input name="name4" value="Z4"></p>
</div>
第一个是工作伙伴。我不确定你的问题是什么。
https://jsfiddle.net/tsj0w29x/ $('#test').find('input').each(function () {
alert($(this).value);
}
或者,您可以使用选择器 #test input
来检索 div
上的所有输入,您可以通过 .each()
方法快速访问这些输入,就像这样:
var values = [];
$('#test input').each(function (){
values.push($(this).val());
});
console.log(values);
查看此 jsFiddle 了解更多信息。
希望对您有所帮助。
干杯。
我正在尝试使用 jquery,它是在这种类型的结构中获取值的每个函数:
<div id="test">
<p><input name="name1" value="Z1"></p>
<p><input name="name2" value="Z2"></p>
<p><input name="name3" value="Z3"></p>
<p><input name="name4" value="Z4"></p>
</div>
我试过使用
$('#test').find('input').each(function () { }
$('#test > p').children('input').each(function () { }
但我使用的值 警报($(这个)。值); 总是 'undefined'。有什么想法吗?
您应该遍历每个 <p>
标签,因为它们还有其他兄弟姐妹,然后在每个函数中找到输入并获取值。
这会起作用:
$('#test > p').each(function(){
var value = $(this).find('input').val();
});
$('#test input').each(function(i,v){
console.log($(this).val());
});
说明:我们有一个'#test input'
的选择器,这意味着我们正在直接或间接地在#test
中搜索所有input
。到目前为止,一切都很好。但是,我们需要它们的 value
s,因此,在函数内部我们记录 $(this).val()
的结果,它将值输出到控制台。
您的两种检索元素的方法都可以正常工作。您看到 undefined
是因为您访问输入值的方式:.val()
而不是 .value
.
所以:
$('#test').find('input').each(function() {
$(document.body).append($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
<p><input name="name1" value="Z1"></p>
<p><input name="name2" value="Z2"></p>
<p><input name="name3" value="Z3"></p>
<p><input name="name4" value="Z4"></p>
</div>
第一个是工作伙伴。我不确定你的问题是什么。
https://jsfiddle.net/tsj0w29x/ $('#test').find('input').each(function () {
alert($(this).value);
}
或者,您可以使用选择器 #test input
来检索 div
上的所有输入,您可以通过 .each()
方法快速访问这些输入,就像这样:
var values = [];
$('#test input').each(function (){
values.push($(this).val());
});
console.log(values);
查看此 jsFiddle 了解更多信息。
希望对您有所帮助。 干杯。