js动态添加带圆圈序号列表的实例代码

下面是详细的“JS动态添加带圆圈序号列表的攻略”:

步骤一:准备HTML结构

在HTML中,需要准备一个包含序号的圆圈的列表结构。我们可以使用HTML自带的ul和li标签来实现:

<ul id="myList">
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  <li>列表项4</li>
</ul>

注意:需要在ul标签中添加一个id属性,方便在JS中操作该元素。

步骤二:准备CSS样式

为了让序号以圆圈的形式展示,需要给li元素添加CSS样式:

li {
  list-style-type: none;
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
}

li:before {
  content: '\25CF';
  color: #000;
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

说明:这里使用CSS伪元素:before来设置圆圈,同时需要给li元素添加相对定位,以及在伪元素中设置绝对定位。

步骤三:使用JS动态添加序号

有了HTML和CSS的基础,我们就可以使用JS来动态添加序号了。首先,需要获取到ul元素:

var ul = document.getElementById('myList');

然后,遍历li元素,使用循环为li元素添加序号:

var lis = ul.getElementsByTagName('li');
for(var i = 0; i < lis.length ; i++) {
  lis[i].setAttribute('data-num', i+1);
  lis[i].innerHTML = lis[i].getAttribute('data-num') + '. ' + lis[i].innerHTML;
}

说明:在循环中,首先要为每个li元素设置一个data-num属性,属性值为当前索引加1(从1开始);然后,将li元素的HTML内容修改为序号和原本的内容的组合。

示例1:给已有列表动态添加序号

假设我们已经有了一个没有序号的ul列表,只有一堆杂乱的li元素,我们需要JS动态地为这个列表添加序号:

<ul id="myList">
  <li>狗狗</li>
  <li>猫咪</li>
  <li>鸟儿</li>
  <li>乌龟</li>
  <li>金鱼</li>
</ul>
var ul = document.getElementById('myList');
var lis = ul.getElementsByTagName('li');
for(var i = 0; i < lis.length ; i++) {
  lis[i].setAttribute('data-num', i+1);
  lis[i].innerHTML = lis[i].getAttribute('data-num') + '. ' + lis[i].innerHTML;
}

运行上面的JS代码,就可以将这个无序列表变成带序号的圆圈列表了。

示例2:通过JS动态添加列表和序号

假设我们需要通过JS动态地创建一个列表,并且要给这个列表添加序号。可以通过下面的代码来实现:

<div id="myDiv"></div>
var div = document.getElementById('myDiv');
var ul = document.createElement('ul');
for(var i = 0; i < 5 ; i++) {
  var li = document.createElement('li');
  li.innerHTML = '列表项' + (i+1);

  li.setAttribute('data-num', i+1);
  li.innerHTML = li.getAttribute('data-num') + '. ' + li.innerHTML;

  ul.appendChild(li);
}
div.appendChild(ul);

上面的代码首先通过JS创建了一个空的div元素,然后创建了一个ul元素,并且添加了五个li元素,最后将ul元素添加到div中。在创建li元素的同时,也为它们添加序号。

这样,我们就完成了“JS动态添加带圆圈序号列表”的完整攻略,可以运用在日常的网页编写工作中,提高页面效率和美观程度。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js动态添加带圆圈序号列表的实例代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS 文本域和按钮对齐不一致解决方案

    下面是 “CSS 文本域和按钮对齐不一致解决方案”的完整攻略: 问题描述 当我们在HTML表单中设置一个textarea(文本域)和一个button(按钮)时,有时候会发现它们在水平方向上的对齐不一致。这是因为textarea和button的默认盒模型不同,导致其宽度和高度的计算方式不同。 解决方案 有以下两种解决方案: 方案一:使用CSS的table布局 …

    css 2023年6月10日
    00
  • JS利用window.print()实现网页打印功能

    首先,window.print()是JavaScript中的一个方法,用于打印当前网页。它可以通过触发该方法,让网页在打印页面中呈现出来。下面介绍如何利用window.print()实现网页打印功能的完整攻略。 完整攻略 1. 准备HTML内容 在网页中需要打印的部分写完后,可以通过CSS样式来控制这些元素的宽度,高度和隐藏状态,以确保它们在打印页面中呈现正…

    css 2023年6月9日
    00
  • CSS中position定位的个熟悉示例介绍

    下面我来详细讲解一下”CSS中position定位的个熟悉示例介绍”的攻略。 一、position定位 在CSS中,position用于指定元素的定位方式,包括static、relative、absolute和fixed等。 static(默认值):元素的位置不受top、bottom、left、right等属性的影响,按照页面正常流布局。 relative:…

    css 2023年6月9日
    00
  • CSS教程:导致一些问题的overflow

    CSS教程:导致一些问题的overflow 在CSS中,overflow属性被用于确定容器应如何处理溢出内容。当容器内的内容超出容器的尺寸时,该属性的值将决定用户是否可以滚动内容,或隐藏超出的部分。 然而,overflow属性可能导致一些问题。在本教程中,我们将介绍这些问题以及如何解决它们。 问题1: 块剪切 overflow:hidden属性可能导致内容被…

    css 2023年6月9日
    00
  • PHP小技巧之JS和CSS优化工具Minify的使用方法

    针对“PHP小技巧之JS和CSS优化工具Minify的使用方法”,下面是完整的攻略: 什么是Minify工具 Minify是一个可以对JS和CSS文件进行优化压缩的工具,它可以将文件中的冗余信息删除,同时还可以简化代码,从而减小文件的体积,提高加载速度。此工具使用起来比较简单,可以帮助我们更好地构建网站。 Minify工具的安装 Minify提供了两种安装方…

    css 2023年6月9日
    00
  • 通过CSS实现逼真水滴动效

    以下是详细讲解“通过CSS实现逼真水滴动效”的完整攻略。 一、分析水滴动效的实现原理 在进行实现之前,我们需要明确水滴动效的实现原理,只有了解了实现原理,才能更好地进行实现。水滴动效主要包括两个部分:水滴自身的形状和水滴的运动轨迹。 1.1 水滴形状 水滴形状是通过CSS3的border-radius属性实现的。我们可以设置一个圆形的div,然后通过设置bo…

    css 2023年6月9日
    00
  • 纯CSS实现“文本溢出截断省略”的几种方法

    下面我将为大家详细讲解“纯CSS实现文本溢出截断省略”的几种方法,包括单行文本截断和多行文本截断。 单行文本截断 方案一:利用text-overflow属性 /* 显示省略号 */ .ellipsis1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } 使用text-ove…

    css 2023年6月10日
    00
  • 解决vuejs项目里css引用背景图片不能显示的问题

    下面是“解决vuejs项目里css引用背景图片不能显示的问题”的完整攻略。 问题描述 在Vue.js项目中,我们可能会遇到一个问题,就是在CSS中引用的背景图片不能正确显示的情况。 解决方案 针对这个问题,我们可以尝试以下两种解决方案。 方案一:使用相对路径 第一种方式是在CSS中使用相对路径来引用背景图片。例如,如果我们的CSS文件位于src/assets…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部