javascript - 如何使用 jquery 定位最后一个可见元素类型
问题描述
我需要一些帮助 我有一个 drupal 网络表单,如果先前的文本输入有内容,新的表单元素会在其中有条件地显示。
我想要做的是选择所有当前可见的输入,然后专门针对最后一个(最近显示的)。
问题是这针对每个 .form-item 中的最后一个子项,而不是直接针对最后一个表单项本身。
$(".webform").on("change", function() {
$(".form-item:visible").each(function() {
if ($(this).is(":last-of-type")) {
//Do whatever
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="webform">
<div class="form-item" style="display:block">
</div>
<div class="form-item" style="display:block">
</div>
<div class="form-item" style="display:block">
</div>
<div class="form-item" style="display:none">
</div>
</div>
解决方案
你可以使用这个jQuery:last选择器来简化你的流程
$('.form-item:visible:last')
推荐阅读
- javascript - 如何在变量中分配逻辑或运算符
- javascript - Workbox Service Worker 不保存缓存
- javascript - 碰撞仅针对最后一个 DIV 触发
- asp.net-mvc - 在 Web API c# MVC 中使用 HttpActionExecutedContext 时出现缓存问题
- laravel - 在 Laravel 5.7 中动态合并 .env 文件旧键值
- node.js - 当我在nestjs中将另一个服务注入用户服务时如何修复未知的身份验证策略“jwt”
- arrays - numba jit 无法理解数组的单个元素不是数组
- fipy - 我如何表达像扩散项这样的术语?
- node.js - 如何根据查询值链接 express-validator?
- javascript - 浏览器开发者工具(F12模式)下直接执行Cypress命令如何打印日志