例如,我有一个这样的输入标签:
<input class="" name="abcxyz[full_name]"/>
是否有办法使用jquery从名称标签中删除[full_name] ?我想要这样:
<input class="" name="abcxyz"/>
有人能帮帮我吗?
尝试查找名称中带有方括号的所有输入,然后通过.attr()
方法删除方括号表达式
const rx = /[.+?]/g // for finding and removing "[something]"
$("input[name*='[']")
.filter((_, { name }) => rx.test(name))
.attr("name", (_, name) => name.replace(rx, ""))
// This just shows the result
$("#out").text($("#inputs").html())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="inputs">
<input class="" name="abcxyz[full_name]"/>
<input class="" name="abcxyz[full_name"/> <!-- no match -->
<input class="" name="abcxyz[full_name][exta]"/> <!-- multiple matches -->
</div>
<pre id="out"></pre>
第一个选择器查找名称中包含[
的所有输入。然后过滤器确保它们只匹配[something]
。