javascript - 获取长度
问题描述
我有点坚持这一点。我正在尝试使用 Bootstrap 4 的选项卡内容获取列表的长度。由于选项卡在页面加载时未处于活动状态,因此长度为 0。当我打开选项卡时,它仍然为 0。
我添加了打印的 html 以及 ajax 调用来获取数据。
// print applicant status
if (applicantStatus == 'true') {
$('#aStatus').html('Applicant');
// video module count
var totalModCount = $("#vidList").find("li").length;
console.log(totalModCount); // 0 Supposed to be 9
$('#totalCount').html(totalModCount)
// form total count
var totalFormCount = $("#vidList").find("li").length;
console.log(totalFormCount); // 0 Supposed to be 4
$('#formTotalCount').html(totalFormCount);
}
else {
$('#aStatus').html('Employee');
};
var listOfTypes = "";
$.each(parsedData, function (index, item) {
var dateOfCompletion = moment(item.DateCompleted).format('MM/DD/YYYY');
lastAttempt = moment(item.DateOfExam).format('MM/DD/YYYY');
isValid = item.Valid;
isOrientation = item.IsOrientation;
isInservice = item.IsInservice;
if (applicantStatus == "true") {
if (isOrientation) {
if (isValid) {
if (item.IsComplete == true) {
listOfTypes += "<li class='list-group-item disabled videoItem text-success'><a class='video-btn gray' data-toggle='modal' data-src='" + item.URL
listOfTypes += "' id='tID_" + item.TypeID + "' href='#myModal'>";
listOfTypes += item.TypeName + "</a>";
listOfTypes += "<br><p id='typeStatus' value='" + item.TypeID + "' class='completionDate'>Completed on: " + dateOfCompletion + "</p></li>";
}
else {
listOfTypes += "<li class='list-group-item videoItem'><a class='video-btn' data-toggle='modal' data-src='" + item.URL
listOfTypes += "' id='tID_" + item.TypeID + "' href='#myModal'>";
listOfTypes += item.TypeName + "</a>";
listOfTypes += "<br><p id='typeStatus' value='" + item.TypeID + "' class='timeDuration'>Time Duration: " + item.Duration + "</p></li>";
}
}
else {
listOfTypes += "<li class='list-group-item d-none videoItem'><a class='video-btn' data-toggle='modal' data-src='" + item.URL
listOfTypes += "' id='tID_" + item.TypeID + "' href='#myModal'>";
listOfTypes += item.TypeName + "</a>";
}
}
}
});
<div class='tab-content'>
<div id="videoList" class="tab-pane fade">
<ul class='list-group' id='vidList'>
<li class="list-group-item videoItem"></li>
<li class="list-group-item videoItem"></li>
<li class="list-group-item videoItem"></li>
<li class="list-group-item videoItem"></li>
<li class="list-group-item videoItem"></li>
<li class="list-group-item videoItem"></li>
</ul>
</div>
<div id="formsList" class="tab-pane fade">
<ul class='list-group' id='fList'>
<li class="list-group-item formItem"></li>
<li class="list-group-item formItem"></li>
<li class="list-group-item formItem"></li>
<li class="list-group-item formItem"></li>
</ul>
</div>
</div>
解决方案
如果调用是异步的,则需要在加载选项卡后进行检查。因此,将下面的代码及其各自的函数放入异步调用的回调函数中并检查。
var totalModCount = $("#vidList").find("li").length;
在那之前它将是空的。
推荐阅读
- python - Keras BayesianOptimization 调优器在调优期间使“最佳 val_loss”变得更糟
- css - 具有动态列数的表格的 CSS Grid,而其中只有一些具有设置的宽度
- python - 为什么我在 Elasticsearch 和 Snowflake 之间差距很大?
- swift - 如何在Coredata中存储自定义结构数组
- linux - 如何从linux命令行打印文件夹内的所有文件路径
- typescript - Vuex MutationAction 装饰器不能分配给 TypedPropertyDescriptor
- systemd - 如何让 systemd 服务以编程方式自行停止?即使设置了 Restart=always ?
- python - 仅在通过 Python 子进程调用时出现 SQL*Loader 错误
- javascript - 只能获取最旧帖子的 answerID 而不是被点击的帖子
- logging - Tableau Server 日志保留期