我们可以使用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 中动态添加项目列表之间的逗号?的详细内容。