如何在 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