Javascript 使用jQuery遍历:在子对象上循环
大家好,我的html结构如下:Javascript 使用jQuery遍历:在子对象上循环,javascript,jquery,html,Javascript,Jquery,Html,大家好,我的html结构如下: <tr> <td> <div class="sigle-sz"> <span class="label-sz">36</span> <input class="" type="tel" value="" name=""> <div class="available yes"> &
<tr>
<td>
<div class="sigle-sz">
<span class="label-sz">36</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
<td>
<div class="sigle-sz">
<span class="label-sz">38</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
<td>
<div class="sigle-sz">
<span class="label-sz">40</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
</tr>
<script>
function pippo() {
//code here
}
$( document ).ready(function() {
$( ".sigle-sz" ).on('change', function() {
pippo();
});
});
</script>
36
38
40
我创建了一个jQuery函数,如下所示:
<tr>
<td>
<div class="sigle-sz">
<span class="label-sz">36</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
<td>
<div class="sigle-sz">
<span class="label-sz">38</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
<td>
<div class="sigle-sz">
<span class="label-sz">40</span> <input class="" type="tel" value="" name="">
<div class="available yes">
<i aria-hidden="true" class="availablespot"></i>
</div>
</div> <!-- /sigle-sz -->
</td>
</tr>
<script>
function pippo() {
//code here
}
$( document ).ready(function() {
$( ".sigle-sz" ).on('change', function() {
pippo();
});
});
</script>
函数pippo(){
//代码在这里
}
$(文档).ready(函数(){
$(“.sigle sz”).on('change',function(){
pippo();
});
});
我将在函数“pippo()
”中循环
标记中的
元素,并将输入值保存在变量中
如果this
是$(“.sigle sz”)
元素,我如何完成这个循环
我把当前代码放在这里:您可以使用$。each()
:
使用.each()循环有很多方法可以解决这个问题。我认为如果你是新手,有一个可读性很强的循环是很重要的,否则你会很快迷失方向 1) 全局变量 2) 首先,确保当有人在输入中写入内容时收集数据 3) pippo函数将清除全局变量“arrSigle”(Array Sigle的缩写),并确保它只填充了写下的当前数字
$(document).ready(function () {
//1
var arrSigle= [];
//2
$( ".sigle-sz" ).find("input").on("change", function(){
pippo();
//just FYI, the "change" only fires when an input has a new value, and lose focus
// by any means. If it annoys you to have to click out of the box for pippo()
//to run, you might want to use "onkeyup" instead of "change".
//it will fire every time someone lets go of a key while inside the input
})
//3
function pippo(){
arrSigle.length = 0; //this clears the variable
$( ".sigle-sz" ).find("input").each(function(){
arrSigle.push($(this).val());
//this itterates over all the inputs and pushes them into the
//global variable.
})
//If you want some function to run right after all the
//numbers has been gathered, put it right under this comment.
}
});
我们都可以讨论这有多“高效”,但考虑到您的页面可能有多小,我认为将其简化是完全合理的您所说的循环、递归或循环是什么意思?你到底想做什么?你能告诉我们你试过什么吗?因为写函数名不算数。我想是一个循环,我不知道。。。如果我一直更新到元素,如何循环元素?当控件失去输入焦点并且自获得焦点以来其值已被修改时,将发生onchange事件。此属性适用于以下元素:输入、选择和文本区域。所以,
div.change()
不会有任何帮助!但是div上的onchange事件起作用了!我只想导航到children结构why全局变量?我不认为我们应该使用全局变量,直到我们确切地知道我们在做什么。在这种情况下,使用全局变量是不必要的,因为他正在从文档调用pipo()
函数。ready
,如果他想在事件中使用result,var必须是全局的。如果他有其他。当前
元素之外的单个sz
元素呢?还有,$each
将返回一个未定义不是函数
错误。@BenM如果你想把你的答案标记为比我的好,并且不进行建设性的对话来帮助OP回答他的问题,请不要和我一起计算。a) 感谢您的$。每次更正。b) i如何传递参数会使代码更不可读,对OP c来说更容易理解)我们有HTML结构,所以他不应该有更多的。单个sz
元素。。。