为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取类中的所有字段

如何获取类中的所有字段

陪伴而非守候 2021-12-23 10:39:33
我有多个类,其中包含不同数量的字段,1 个类示例:<div class="row form-row-extra-phone spacer">        <div class="col-12">            <div class="input-group">                <input type="tel" name="extraPhone-0-phone_number" class="form-control" placeholder="Extra Phone Number" maxlength="128" id="id_extraPhone-0-phone_number">                <div class="input-group-append">                     <a class="btn btn-success btn-circle btn-sm add-form-row" href="#" role="button" id="plus_payment_data">+</a>                </div>            </div>        </div></div>我想迭代具有属性 "name" 和 "id" 的类中的所有字段,并将里面的数字加 1(在示例中name="extraPhone-0-phone_number"-> name="extraPhone-1-phone_number")我可以通过以下方式选择课程: $('.form-row-extra-phone')我迭代上所有的Fileds怎样才能里面包含的属性“名”和“身份证”呢?
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

我想你的意思是<div class="row form-row-extra-phone spacer">当你谈到 a class? 这是一个element,而不是一个类。

类可能是一个有问题的术语,因为它可以指完全无关的CSS/DOM 类Javascript 类。

所以如果你有,<div class="something">那么something就是一个 CSS/DOM 类,但整个事情不是那个类,而是element 拥有那个类。

现在你所指的fields也只是elements。

所以你想要的是选择所有具有该类的元素,form-row-extra-phone以及所有具有name属性的后代元素。这很容易。基本上在 CSS 选择器中,(空格)是后代元素的选择器。

所以你可以选择.form-row-extra-phone [name]

所以你可能想要的是这样的:

document.querySelectorAll('.form-row-extra-phone [name]')
  .forEach(elem => elem.name.replace(/[0-9]/, x => Number(x) + 1));


查看完整回答
反对 回复 2021-12-23
?
呼如林

TA贡献1798条经验 获得超3个赞

当您使用^=它时,它意味着开始于,并$=意味着结束于。

如果条件是(名称和 ID)

    $('.form-row-extra-phone input[name^="extraPhone"][id^="id_extraPhone"]')

如果条件是(名称或 ID)

    $('.form-row-extra-phone input[name^="extraPhone"],input[id^="id_extraPhone"]')

检查这个https://api.jquery.com/multiple-attribute-selector/或谷歌“jQuery 多属性选择器”


查看完整回答
反对 回复 2021-12-23
  • 2 回答
  • 0 关注
  • 214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号