如何在 JavaScript 中动态地在项目列表之间添加逗号?
我们可以使用 CSS 的 "::before" 伪元素来动态地在每个列表项之前添加逗号,除了第一个列表项。通过定位列表项并使用 "content" 属性,我们可以在列表项内容之前插入逗号。此外,我们可以使用 ":not(:first-child)" 伪类来确保只有非第一个列表项添加逗号。
假设我们有以下 HTML DOM
<ul class="dynamic-list"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul>
在本文中,我们将讨论两种不同的方法,它们可以用来实现相同的最终目标:在每个列表项之后添加逗号(最后一个列表项除外)。
因此,让我们逐一了解每种方法。
方法一:使用 CSS
使用 CSS 动态地在项目列表之间添加逗号的一种方法是在列表项上使用 ::before 伪元素。
在每个 li 的 ::before 伪元素内,除了第一个 li 子元素,我们将添加一个逗号,这将为我们解决问题。
这样做的代码如下:
.dynamic-list li {
display: inline-block;
}
.dynamic-list li::before {
content: ", ";
}
.dynamic-list li:first-child::before {
content: "";
}
这将在每个列表项之前添加一个逗号和空格,第一个列表项除外。第一个项目之前没有任何内容,因此它之前没有逗号。
方法二:使用 JavaScript
或者,您也可以使用 javascript 或 jquery 来动态地在列表项之间添加逗号。在这里,我们将使用纯 JavaScript 来动态地在项目列表之间添加逗号。
执行此操作的代码如下:
var list = document.getElementById("dynamic-list");
var items = list.getElementsByTagName("li");
for (var i = 0; i < items.length; i++) {
if (i > 0) {
items[i].innerHTML = ", " + items[i].innerHTML;
}
}
此代码首先按其 id 选择列表,然后获取所有列表项。然后它循环遍历每个项目,并检查它是否不是第一个项目,如果不是,它会在项目内容之前添加逗号和空格。
示例
最终代码将是:
<!DOCTYPE html>
<html>
<head>
<title>Comma Separated List</title>
</head>
<style>
li {
display: inline-block;
color: black;
}
</style>
<body>
<ul id="dynamic-list">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
<script>
var list = document.getElementById("dynamic-list");
var items = list.getElementsByTagName("li");
for (var i = 0; i < items.length; i++) {
if (i > 0) {
items[i].innerHTML = ", " + items[i].innerHTML;
}
}
</script>
</body>
</html>
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP