javascript - 使用 jQuery 按字母顺序对 div 中的文本进行排序

标签 javascript jquery html sorting alphabetical

是否可以在 div 中找到某些特定文本,然后按字母顺序对其进行排序?

例如,在 div 中的此文本 block 中:

<div class="text-block">
Jim, Mike, Ali, and Marsha went to the store.
</div>

我想让Jim、Mike、Ali 和 Marsha 按字母顺序排序,这样输出就会是这样的:

<div class="text-block">
Ali, Jim, Marsha, and Mike went to the store.
</div>

我觉得这几乎是不可能的,但也许只是查找并替换?不太确定最好的方法是什么。

最佳答案

您可以使用正则表达式来完成此操作。这样您就可以支持更通用的输入。

$(".text-block").html(function(idx, oldhtml) {
    return oldhtml.replace(/[, a-z]+and [a-z]+/gi,function(a) {
        tmp = a.replace(" and "," ").split(/[^\w]+/).sort();
        return tmp.slice(0,-1).join(", ") + ", and " + tmp.pop();
    })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="text-block">
Jim, Mike, Ali, and Marsha went to the store.
</div>

关于javascript - 使用 jQuery 按字母顺序对 div 中的文本进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316536/

相关文章:

javascript - 在 bootstrap angularjs 中禁用 td 取决于角色权限

javascript - 突出显示文本的文本到语音

javascript - 如何通过AJAX检索使用POST方法创建的表?

javascript - testcafe firefox 允许自动播放

javascript - Div 出现在 > 900px 滚动并停在页脚 div

javascript - 如何在javascript中等待动态加载的脚本完全执行?

java - 字符串应保持与 TextArea 类似的换行符

javascript - NetSuite - 将数据从 Portlet 传递到 HTML 文件

javascript - VIDEOjs 可拖动进度条

jquery - 是什么导致我的 nivo-slider 抛出以下错误?