当前位置: 首页 > 知识库问答 >
问题:

jquery each for form elements-如何在form中获得next、prev元素?

邓韬
2023-03-14

我有一个表单,其中每个输入元素都有一个带有文本的标签,一些标签有一个带有“required”类的span项,在标签和文本输入之间可能有一些更多的div。

<label for="diameter">D<span class="required">Required</span></label>
<div ...
    <input type="text" id="diameter" name="diameter" value="20" />

我需要通过所有的输入,有一个标签与所需的跨度。我可以旋转穿过所有的跨度

$('form .required').each(function(index, element) {
});

其中“元素”是跨度。但如何获取关联的输入?以下均不起作用:

element.next('input[type="text"]')
$(element).next('input[type="text"]')

共有1个答案

闻人和泽
2023-03-14

从其for属性(可通过jQuery上的.attr或元素上的.htmlfor访问)中,您可以获得它指向的ID,并使用该ID,您可以选择所需的元素:

null

$('.required').each((_, span) => {
  const $input = $('#' + $(span).parent()[0].htmlFor);
  console.log($input.val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="diameter">D<span class="required">Required</span></label>
<div>
  <input type="text" id="diameter" name="diameter" value="20">
</div>
 类似资料:
  • 这个版本新增 next(),prev(),parent(),parents() 这4个选择元素的方法还是比较常用的 首先我们需要一个func来过滤我们需要的dom function sibling(cur, dir) { while ((cur = cur[dir]) && cur.nodeType !== 1) {} return cur; } 上面那段比较简单,就是普通的过滤

  • 我是ES6的新手,我只想知道如何在ES6中获取dom元素,关于获取dom元素有没有新的语法。最好的方法是什么也请让我知道。 以简单的方式,我得到了下面的例子:-

  • 本文向大家介绍JavaScript实现获取某个元素相邻兄弟节点的prev与next方法,包括了JavaScript实现获取某个元素相邻兄弟节点的prev与next方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现获取某个元素相邻兄弟节点的prev与next方法。分享给大家供大家参考,具体如下: 更多关于JavaScript节点操作相关内容感兴趣的读者可查看本站专题

  • 我想在分页中添加“下一页”和“上一页”按钮功能,这样我也可以在其中移动页面。在我的代码中,我只显示下一页或上一页,并在单击时查看第二页的内容,但不将所选按钮数从1移动到2,或者如果有更多,则移动到下一页,以此类推。上一次也一样。此外,如果我不能进入下一步/上一步,我希望禁用下一步/上一步按钮。 有人帮帮忙吗? 以下是我到目前为止所拥有的:

  • 在我的javascript中,我做到了 聚焦元素。 我没有尝试遍历DOM树,而是想知道是否可以简单地说 但我似乎在API中找不到它

  • 所以我在这个项目中使用了fullcalendar,在同一个页面上有多个日历,每个日历都有自己的Prev/Next/Today按钮。我想要完成的是,当点击Prev/Next时,它会为页面上的所有日历启动,而不是仅仅为它绑定的日历启动,如果这样做有意义的话。我尝试使用jQuery来实现这一点,因为它们具有相同的类名,下面是一个我尝试过的click函数的示例,但并不完全像我预期的那样工作。 例如,我有五