如何使用jquery删除名称标签中的元素



例如,我有一个这样的输入标签:

<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]

最新更新