有没有办法不让我们使用单选按钮而是自动执行javascript?
我看到我正在使用 .click
函数,需要使用哪个命令来自动执行它?
谢谢你的建议。
$(document).ready(function () {
$("input[name='change_last_first']").click(function () {
$(".name").each(function() {
var revName = $(this).text().split(" ").reverse().join(" ");
$(this).text(revName);
});
});
});
function name(str) {
return(str.replace(/,/g,''));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="change_last_first" value="first" type="radio" >First Last,
<table>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name">Willis, James</td>
</tr>
<tr>
<td class="name">Handson Willis</td>
</tr>
<tr>
<td class="name">Anderson, Sarah</td>
</tr>
<tr>
<td class="name">Pandora, Jim</td>
</tr>
</tbody>
</table>
最佳答案
要在加载时执行此操作,只需删除 click()
处理程序,并将 each()
逻辑直接放置在 document.ready 处理程序中。
话虽如此,您可以通过向 text()
提供一个函数来改进逻辑,该函数迭代集合中的所有元素。此函数接受元素的当前文本值作为参数,您可以修改该参数并使用它来返回新值。最后,您可以通过逗号或空格split()
文本,以删除当前代码在某些情况下留下的尾随逗号。
话虽如此,试试这个
jQuery(function($) {
$(".name").text(function(i, t) {
return t.split(/,|\s/).reverse().join(" ");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr><th>Name</th></tr>
</thead>
<tbody>
<tr><td class="name">Willis, James</td></tr>
<tr><td class="name">Handson Willis</td></tr>
<tr><td class="name">Anderson, Sarah</td></tr>
<tr><td class="name">Pandora, Jim</td></tr>
</tbody>
</table>
关于jquery - 颠倒姓氏和名字并删除逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59115941/