首页 > web前端 > js教程 > 正文

如何在 JavaScript 中动态添加项目列表之间的逗号?

WBOY
发布: 2023-09-08 17:33:02
转载
1652 人浏览过

如何在 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>
登录后复制

我们将在本文中讨论两种可用于实现相同最终目标的不同方法:在每个列表项(最后一项除外)后添加逗号。

因此,让我们逐一讨论每种方法。

方法 1:使用 CSS

使用 CSS 在项目列表之间动态添加逗号的一种方法是在列表项目上使用 ::before 伪元素。

在每个 li 的 ::before 伪元素内(除了第一个 li 子元素),我们将添加一个逗号,这样就可以解决问题了。

这样做的代码是 -

.dynamic-list li {
  display: inline-block;
}
.dynamic-list li::before {
  content: ", ";
}
.dynamic-list li:first-child::before {
  content: "";
}
登录后复制

这将在每个列表项之前添加一个逗号和空格,第一个列表项除外。第一项前面没有内容,因此前面没有逗号。

方法 2:使用 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>
登录后复制

以上是如何在 JavaScript 中动态添加项目列表之间的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板