js中DOM三级列表(代码分享)

yizhihongxing

JS中DOM三级列表(代码分享)

在HTML中,可以通过嵌套使用<ul><li>标签来创建无序列表,也可以嵌套使用<ol><li>标签来创建有序列表。除此之外,还可以通过嵌套使用<dl><dt><dd>标签来创建说明列表。在JavaScript中,可以使用DOM操作来创建、修改和删除这些列表。

创建三级列表

首先,我们需要创建一个包含三级列表的HTML结构。代码如下:

<ul id="list">
  <li>
    <span>第一项</span>
    <ul>
      <li>
        <span>子项1</span>
        <ul>
          <li><span>孙子项1</span></li>
          <li><span>孙子项2</span></li>
        </ul>
      </li>
      <li><span>子项2</span></li>
    </ul>
  </li>
  <li><span>第二项</span></li>
  <li><span>第三项</span></li>
</ul>

该HTML结构包含一个id为list的无序列表,其中嵌套使用了三层<ul><li>标签。为了让列表更加清晰,我们使用<span>标签来包裹列表项的文本内容。

接下来,我们需要在JavaScript中获取该列表元素,并添加事件监听器,代码如下:

var list = document.getElementById("list");
list.addEventListener("click", handleClick);

在上面的代码中,我们使用document.getElementById方法获取id为list的元素,并使用addEventListener方法为它添加了一个click事件监听器,该监听器的回调函数是handleClick

现在,我们需要实现handleClick函数。该函数的作用是根据点击的元素类型,判断点击的是列表项还是列表项中的子元素,并在控制台输出相应的提示信息。代码如下:

function handleClick(event) {
  var target = event.target;
  if (target.tagName === "LI") {
    console.log("点击了列表项:" + target.firstElementChild.innerHTML);
  } else if (target.tagName === "SPAN") {
    console.log("点击了子元素:" + target.innerHTML);
  }
}

在上面的代码中,我们首先获取触发事件的元素,并使用tagName属性来判断该元素的标签类型。如果元素是一个<li>标签,说明点击的是列表项,我们可以通过firstElementChild属性获取该列表项的第一个子元素<span>,并使用innerHTML属性获取该元素的文本内容。如果元素是一个<span>标签,说明点击的是列表项中的子元素,我们可以直接使用innerHTML属性获取该元素的文本内容,并添加相应的提示信息到控制台中。

修改列表项

除了添加事件监听器外,我们还可以使用DOM操作来修改列表项。例如,我们可以为列表项添加一些样式,使其在被选中时呈现明显的高亮效果。代码如下:

function handleClick(event) {
  var target = event.target;
  if (target.tagName === "LI") {
    console.log("点击了列表项:" + target.firstElementChild.innerHTML);
    target.classList.add("active");
  } else if (target.tagName === "SPAN") {
    console.log("点击了子元素:" + target.innerHTML);
    target.parentNode.classList.add("active");
  }
}

在上面的代码中,我们使用了classList属性来为选中的列表项添加了一个名为active的类,以便对其进行样式设置。如果点击的是子元素,我们还需要使用该元素的parentNode属性获取其父节点(即列表项),然后对其进行样式设置。

总结

通过以上的示例,我们可以看到如何在JavaScript中使用DOM操作来创建、修改和删除三级列表。其中,添加事件监听器以及样式设置是比较常见的DOM操作。在实际应用中,我们还需要了解更多的DOM操作方法以及浏览器的兼容性问题,以便开发出更加高效和稳定的网页。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中DOM三级列表(代码分享) - Python技术站

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

相关文章

  • 高性能js数组去重(12种方法,史上最全)

    这里为大家详细讲解“高性能js数组去重(12种方法,史上最全)”的完整攻略。 1. 原始数组去重方法 原始数组去重方法是指使用两层循环遍历原始数组,逐个将元素与新数组中的元素作比较,如果新数组中没有相同的元素,就把该元素压入新数组。这种方法代码简单易懂,适合只有少量元素的数组去重。 代码如下: function unique1(arr) { var newA…

    JavaScript 2023年5月27日
    00
  • 使用firebug进行调试javascript的示例

    使用 Firebug 进行调试 JavaScript 是前端开发中非常常见的操作之一,下面是一个完整的攻略过程,包括如何安装和使用 Firebug 进行调试 JavaScript 的示例说明: 安装 Firebug 若要使用 Firebug 进行调试 JavaScript,首先要安装 Firebug 扩展,具体操作步骤如下: 打开 Firefox 浏览器,点…

    JavaScript 2023年6月10日
    00
  • JavaScript原生对象之String对象的属性和方法详解

    下面是”JavaScript原生对象之String对象的属性和方法详解”的攻略。 String对象 Javascript中的String对象是一个原生对象,它表示一个文本字符串。String对象提供了一些方法,让我们可以方便地操作字符串。下面我们来详细讲解一下String对象的属性和方法。 String对象的属性 1. length string.lengt…

    JavaScript 2023年5月19日
    00
  • JavaScript中停止执行setInterval和setTimeout事件的方法

    停止执行 setInterval 和 setTimeout 事件通常使用 clearInterval() 和 clearTimeout() 方法。下面是该方法的详细讲解。 clearInterval() clearInterval() 方法用于停止通过 setInterval() 方法设定的周期性定时器。 语法 clearInterval(intervalI…

    JavaScript 2023年6月11日
    00
  • setTimeout函数的神奇使用

    当需要在指定时间之后执行代码时,可以使用JavaScript中的setTimeout函数。setTimeout函数允许您指定一个回调函数以及在多少毫秒后调用该回调函数。在本文中,我将讲解setTimeout函数的使用和一些神奇的方法。 setTimeout函数的语法 setTimeout函数的基本语法如下: setTimeout(function, mill…

    JavaScript 2023年6月11日
    00
  • JavaScript DOM节点添加示例

    当我们需要对网页中的元素进行动态的增删改时,JavaScript就是我们的好帮手之一。在JavaScript中,通过操作网页文档的对象模型(DOM)来实现对页面元素的增删改查。其中节点的添加,是常用的一种操作。 添加DOM节点的方法 在JavaScript中,有多种方式可以添加DOM节点,以下是其中的两种: 1. createElement()方法 crea…

    JavaScript 2023年6月10日
    00
  • JavaScript小技巧 2.5 则

    完整攻略如下: JavaScript小技巧 2.5则 简介 这是第二篇JavaScript小技巧的第五则,本篇攻略将详细讲解如何利用JavaScript小技巧来提高开发效率和代码的可读性。 正文 小技巧1:使用数组解构赋值获取函数的多个返回值 在JavaScript中,函数可以有多个返回值,如果我们需要获取这些返回值并分别进行操作,那么可以使用数组解构赋值来…

    JavaScript 2023年5月27日
    00
  • Javascript生成json的函数代码(可以用php的json_decode解码)

    生成 JSON 格式的数据通过 JavaScript 来实现,通常使用 JSON.stringify() 方法。该方法接受一个 JavaScript 对象或数组作为参数,返回 JSON 字符串。 下面是生成 JSON 格式数据的示例代码: const data = { name: "your name", age: 18, gender:…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部