Javascript jQuery if语句在for循环内部不起作用
我很难弄清楚这里出了什么问题。当我在IF语句中使用“#账户资金-”+i时,它不起作用,但与“#账户资金-0”一起起作用。我需要能够循环通过未知数量的对象数组。我做错了什么 HTML *页面上可以有X个.funding内容分区。每个带有-0的ID都将从js中递增Javascript jQuery if语句在for循环内部不起作用,javascript,jquery,arrays,for-loop,each,Javascript,Jquery,Arrays,For Loop,Each,我很难弄清楚这里出了什么问题。当我在IF语句中使用“#账户资金-”+i时,它不起作用,但与“#账户资金-0”一起起作用。我需要能够循环通过未知数量的对象数组。我做错了什么 HTML *页面上可以有X个.funding内容分区。每个带有-0的ID都将从js中递增 <form id="accountform" name="accountForm"> <div class="funding-content funding-selected-0"> <div cl
<form id="accountform" name="accountForm">
<div class="funding-content funding-selected-0">
<div class="container">
<h3>Funding for [account selected]</h3>
<div class="funding-type-transfer" id="funding-type-transfer-0">
<div class="form-inputs">
<div class="lx-grid lx-grid--gutters">
<div class="lx-grid__cell lx-grid__cell--1-2--above-md">
<label for="account-funding-0">Routing Number</label>
<input id="account-funding-0" type="text" maxlength="9">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
[选定账户]的资金
路由号码
不起作用:
var amountOfAccounts = $( '#account-form .funding-content' ).length;
for ( i = 0; i <= amountOfAccounts; i++ ) {
if ( $( '#account-funding-'+i ).val() == '' ) {
document.getElementById( 'account-funding-'+i ).setCustomValidity( 'Routing Number is a required field.' );
}
}
var amountOfAccounts = $( '#account-form .funding-content' ).length;
for ( i = 0; i <= amountOfAccounts; i++ ) {
if ( $( '#account-funding-0' ).val() == '' ) {
document.getElementById( 'account-funding-'+i ).setCustomValidity( 'Routing Number is a required field.' );
}
}
var amountOfAccounts=$(“#账户形式.资金内容”).length;
对于(i=0;i如果我理解正确,您在循环中没有得到正确的id
?
如果是,请将要创建的循环变量设置为let
,这样它就不会被提升,并且是该循环的块范围
另外,要循环使用正确数量的元素,请使用如果我理解正确,您在循环中没有获得正确的id
?
如果是,请将要创建的循环变量设置为let
,这样它就不会被提升,并且是该循环的块范围
另外,要循环使用正确数量的元素,请使用显然,索引与某个元素不匹配。但是,您不需要这样做。JQuery提供了一个方法来循环对象,因此您不必担心以下任何问题:
$( '#account-form .funding-content' ).each(function(index, element){
if(element.val() !== ""){
// Do something
}
});
显然,索引与某个元素不匹配。但是,您不需要这样做。JQuery提供了一个方法来循环对象,因此您不必担心以下任何问题:
$( '#account-form .funding-content' ).each(function(index, element){
if(element.val() !== ""){
// Do something
}
});
同时添加HTML“#帐户资金-”+i
确实会导致“#帐户资金-0”
,因此我觉得这开始成为一个XY问题。你看到什么不起作用了?它应该起作用。也就是说,页面可能没有完全加载,这会导致错误。在发布HTMLH之前很难诊断但是,这样保存一系列id
s是一种反模式。只需遍历$(“#帐户表单.资金内容”)返回的jQuery集即可
@T.J.Crowder…谢谢你的建议。看起来这就像是简单的更改添加HTML一样“#帐户资金-”+i
确实会导致“#帐户资金-0”
,所以我觉得这开始成为一个XY问题。你看到什么不起作用了?它应该起作用。尽管如此,这是可能的页面未完全加载,这会导致错误。在发布HTMLHaving一系列id
s之前很难诊断,但这是一种反模式。只需遍历$(“#帐户表单.资金内容”)返回的jQuery集即可
@T.J.Crowder…谢谢你的建议。看起来就像改变一样简单谢谢。你的答案和@T.J.Crowder一起解决了问题。我只需要改变谢谢。你的答案和@T.J.Crowder一起解决了问题。我只需要改变