javascript - 如何使用 vanilla JavaScript 按字母顺序对 HTML 元素进行排序?
问题描述
我在容器 div 中有这些动物卡片,我想按字母顺序对它们进行排序。我只想使用香草 javascript,请不要使用 jquery。
<div class="animal-container">
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Giraffe</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Camel</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Dog</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Lion</div>
</div>
</div>
解决方案
这就是我想出的。我选择了所有带有"animal-name"类的标签。然后将他们的textContent存储在一个数组中,对其进行排序,然后将其替换为原始标签
let animals = document.querySelectorAll('.animal-name');
let animalNames = [];
for(let i=0; i<animals.length; i++){
animalNames.push(animals[i].textContent)
}
animalNames = animalNames.sort();
for(let i=0; i<animals.length; i++){
animals[i].textContent = animalNames[i];
}
<div class="animal-container">
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Giraffe</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Camel</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Dog</div>
</div>
</div>
<div class="animal-cards">
<div class="img-container">
<img src="#">
</div>
<div class="animal-info">
<div class="animal-name">Lion</div>
</div>
</div>
推荐阅读
- c# - 使用 entityframework 到 postgresql 运行 linq 查询期间超时
- c# - 如果测试失败,C#/Selenium 重试
- c# - 反序列化存在于不同位置的 xml 配置文件
- wordpress - 在 wp_nav_walker 菜单 WordPress 中显示菜单标签两次
- .net - 是否可以在 Azure 通信服务中的聊天与同一组中发起呼叫
- visual-studio-code - 脚本在 jupyter notebook 中运行,但不在 vscode 中
- database - 如何在 Postgres 中将所有没有模式的数据从一个数据库复制到另一个数据库?
- storage - Azure 逻辑应用中的存储方法
- dynamics-crm - 电子邮件实体上的 Dynamics CRM 安全角色权限
- amazon-web-services - 在 64 位 Amazon Linux 2/3.1.2 平台上运行的 Elastic Beanstalk Ruby 2.6 更新错误:工作人员提前终止