JS实现点击li标签弹出对应的索引功能【案例】

JS实现点击li标签弹出对应的索引功能可以使用jQuery或原生JS实现。以下是详细的步骤:

1. HTML结构

首先需要创建一个ul列表,每个li元素上都应该有一个data属性,它的值为它所代表的元素在列表中的索引。

<ul id="list">
    <li data-index="0">Item 1</li>
    <li data-index="1">Item 2</li>
    <li data-index="2">Item 3</li>
    <li data-index="3">Item 4</li>
</ul>

2. 使用jQuery实现

如果使用jQuery实现,可以使用以下代码:

$('#list li').click(function() {
  var index = $(this).data('index');
  alert('你点击了第' + (index + 1) + '个元素');
});

简单来说,这段代码的意思就是,当你点击列表中的一个li元素时,获取它的data-index属性值,然后在弹出框中显示它在列表中的索引值+1(为了让数字从1开始计数)。

3. 使用原生JS实现

如果使用原生JS实现,可以使用以下代码:

var items = document.querySelectorAll('#list li');
for (var i = 0; i < items.length; i++) {
  items[i].addEventListener('click', function() {
    var index = parseInt(this.getAttribute('data-index'));
    alert('你点击了第' + (index + 1) + '个元素');
  });
}

这段代码的含义和上面的代码是一样的,唯一的区别是它使用了原生的JavaScript,没有使用jQuery的库。它首先将列表中的所有li元素保存在一个数组中,然后可以使用addEventListener()方法向它们添加一个click事件侦听器。

示例说明

为了更好地理解如何实现这个功能,这里提供两个示例:

示例一

在这个示例中,我们使用jQuery,并为列表中的每个li元素添加了一个CSS类,以便在单击选项时更改其颜色:

<style>
.selected { background-color: #ffa500; }
</style>

<ul id="list">
    <li data-index="0">Item 1</li>
    <li data-index="1">Item 2</li>
    <li data-index="2">Item 3</li>
    <li data-index="3">Item 4</li>
</ul>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$('#list li').click(function() {
  $('#list li').removeClass('selected');
  $(this).addClass('selected');
  var index = $(this).data('index');
  alert('你点击了第' + (index + 1) + '个元素');
});
</script>

这段代码的效果是,当你单击一个列表项时,它会突出显示,并显示它在列表中的索引值。

示例二

在这个示例中,我们将使用原生JS来实现相同的功能。我们还会更改alert()函数,以便将消息显示在页面上,而不是在弹出窗口中。

<ul id="list">
    <li data-index="0">Item 1</li>
    <li data-index="1">Item 2</li>
    <li data-index="2">Item 3</li>
    <li data-index="3">Item 4</li>
</ul>

<script>
var items = document.querySelectorAll('#list li');
for (var i = 0; i < items.length; i++) {
  items[i].addEventListener('click', function() {
    document.getElementById('result').innerHTML = '你点击了第' + (parseInt(this.getAttribute('data-index')) + 1) + '个元素';
  });
}
</script>

<p id="result"></p>

这段代码的效果是,当你单击一个列表项时,它会在页面顶部的段落元素中显示它在列表中的索引值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现点击li标签弹出对应的索引功能【案例】 - Python技术站

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

相关文章

  • 利用jquery的获取JS文件中的字符串内容

    获取 JS 文件中的字符串内容,可以使用 jQuery 的 AJAX 功能来实现。具体步骤如下: 使用 $.get() 或 $.ajax() 函数向指定的 JS 文件发送 HTTP 请求,获取文件内容。 示例1: $.get(‘script.js’, function(data) { console.log(data); }); 在这个示例中,我们使用 $.…

    JavaScript 2023年5月27日
    00
  • js定时调用方法成功后并停止调用示例

    实现js定时调用方法成功后并停止调用有多种方法,以下是两个示例说明: 示例一:使用setTimeout和clearTimeout方法 使用setTimeout方法来调用要执行的方法。即使要调用的方法本身没有延时,也要在setTimeout方法中设置一个很小的延时,以便能够使用clearTimeout方法在需要时停止调用。 var timerId = setT…

    JavaScript 2023年5月27日
    00
  • 深入浅析Angular SSR

    关于“深入浅析Angular SSR”的完整攻略,下面是详细的讲解: 什么是Angular SSR Angular SSR(Server-Side Rendering)是指在服务端执行Angular应用程序并生成HTML响应的过程。通俗的说,就是在服务端预渲染且构造HTML并且在传回浏览器渲染时设置完整的、原始的HTML文档。这样可以提高应用程序的首次加载速…

    JavaScript 2023年6月11日
    00
  • JavaScript函数式编程示例分析

    让我们来讲解“JavaScript函数式编程示例分析”的完整攻略。 什么是函数式编程 函数式编程是一种编程范式,它强调将计算看作数学函数的组合。它着重于函数的运算而不是程序的执行顺序,避免了副作用,对于共享状态和可变数据的处理会更加谨慎。 JavaScript是一种支持函数式编程的编程语言。JavaScript中的函数既可以作为一般函数调用,也可以作为变量进…

    JavaScript 2023年5月27日
    00
  • Javascript的表单与验证-非空验证

    现在我来为您讲解一下“Javascript的表单与验证-非空验证”的完整攻略。 1. 标题 首先,我们需要为这篇攻略添加一个合适的标题,以便读者能够清楚地了解这篇攻略的主题。标题可以设为“Javascript表单验证-非空验证”。 2. 简介 在正式开始讲解“Javascript表单验证-非空验证”之前,我们先来简单介绍一下表单验证的概念及其重要性。 表单验…

    JavaScript 2023年6月10日
    00
  • javascript在线编码查询工具

    基本介绍 “javascript在线编码查询工具”是一款web应用程序,可以用来编码和解码经常在javascript编程中使用的不同数据类型,比如文字、URL、base64等等。这个工具可以通过浏览器使用,不需要安装或者配置过程。下面我们来详细介绍如何使用这个工具。 使用步骤 打开 javascript在线编码查询工具网站:https://www.sojso…

    JavaScript 2023年5月20日
    00
  • javascript中日期转换成时间戳的小例子

    JavaScript的日期对象提供了各种操作日期和时间的方法。在JavaScript中将日期转换成时间戳(以毫秒为单位)非常简单,只需要用Date对象的getTime()方法即可。以下是用JavaScript将日期转换为时间戳的小例子: const date = new Date(‘2021-08-01’); const timeStamp = date.g…

    JavaScript 2023年5月27日
    00
  • JavaScript下申明对象的几种方法小结

    现在为大家详细讲解“JavaScript下申明对象的几种方法小结”。 一、对象的概念 在JavaScript中,对象是一种复合的数据类型。对象可以包含多个属性(键值对),每个属性的值可以是基本类型数据、对象或函数等。对象常常用于描述真实世界中的事物,比如一本书、一个人或一辆汽车等等。 二、申明对象的几种方式 JavaScript中申明对象的方式有多种,下面会…

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