如何获取 class 中的所有字段
How to get all fields in class
我有多个 class 里面有不同数量的字段,1 class 例子:
<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>
我想遍历 class 中具有属性 "name" 和 "id" 的所有字段,并将其中的数字加 1(在示例 name="extraPhone-0-phone_number"
-> name="extraPhone-1-phone_number"
)
我可以通过以下方式 select class:
$('.form-row-extra-phone')
我如何迭代里面所有包含属性'name'和'id'的字段?
当你说到 class
时,我假设你指的是 <div class="row form-row-extra-phone spacer">
?这是 element
,而不是 class。
Class 可能是一个有问题的术语,因为它可以指代 CSS/DOM classes or Javascript classes,完全不相关。
所以如果你有 <div class="something">
那么 something
是 CSS/DOM class,但整个事情 而不是 class 但 element
具有 class.
现在你所指的fields
也只是element
s。
因此,您想要的是 select 所有具有 class form-row-extra-phone
的元素以及所有具有 name
属性的后代元素。这很容易。基本上在 CSS selector </code> (space) 是 selector for descendant elements.</p>
<p>所以你可以 select <code>.form-row-extra-phone [name]
.
所以你可能想要的是这样的:
document.querySelectorAll('.form-row-extra-phone [name]')
.forEach(elem => elem.name.replace(/[0-9]/, x => Number(x) + 1));
当您使用 ^=
时表示开始于,而 $=
表示结束于.
如果条件是(名称和 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/ 或 google "jQuery Multiple attributes selector"
我有多个 class 里面有不同数量的字段,1 class 例子:
<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>
我想遍历 class 中具有属性 "name" 和 "id" 的所有字段,并将其中的数字加 1(在示例 name="extraPhone-0-phone_number"
-> name="extraPhone-1-phone_number"
)
我可以通过以下方式 select class:
$('.form-row-extra-phone')
我如何迭代里面所有包含属性'name'和'id'的字段?
当你说到 class
时,我假设你指的是 <div class="row form-row-extra-phone spacer">
?这是 element
,而不是 class。
Class 可能是一个有问题的术语,因为它可以指代 CSS/DOM classes or Javascript classes,完全不相关。
所以如果你有 <div class="something">
那么 something
是 CSS/DOM class,但整个事情 而不是 class 但 element
具有 class.
现在你所指的fields
也只是element
s。
因此,您想要的是 select 所有具有 class form-row-extra-phone
的元素以及所有具有 name
属性的后代元素。这很容易。基本上在 CSS selector </code> (space) 是 selector for descendant elements.</p>
<p>所以你可以 select <code>.form-row-extra-phone [name]
.
所以你可能想要的是这样的:
document.querySelectorAll('.form-row-extra-phone [name]')
.forEach(elem => elem.name.replace(/[0-9]/, x => Number(x) + 1));
当您使用 ^=
时表示开始于,而 $=
表示结束于.
如果条件是(名称和 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/ 或 google "jQuery Multiple attributes selector"