我有多个类,其中包含不同数量的字段,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
也只是element
s。
所以你想要的是选择所有具有该类的元素,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));

呼如林
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 多属性选择器”
添加回答
举报
0/150
提交
取消