首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js获取ul下面的li数量

在JavaScript中,获取<ul>元素下面<li>的数量可以通过多种方式实现。以下是几种常见的方法:

方法一:使用 querySelectorAll

querySelectorAll 方法返回文档中匹配指定 CSS 选择器的所有元素节点。

代码语言:txt
复制
const ul = document.querySelector('ul'); // 获取第一个<ul>元素
const lis = ul.querySelectorAll('li');   // 获取该<ul>下所有的<li>元素
const count = lis.length;               // 获取<li>的数量
console.log(count);

方法二:使用 children

children 属性返回一个元素的子元素集合(仅包含元素节点,不包括文本节点等)。

代码语言:txt
复制
const ul = document.querySelector('ul'); // 获取第一个<ul>元素
const lis = ul.children;                 // 获取该<ul>下所有的<li>元素
const count = lis.length;               // 获取<li>的数量
console.log(count);

方法三:使用 getElementsByTagName

getElementsByTagName 方法返回带有指定标签名的对象集合。

代码语言:txt
复制
const ul = document.querySelector('ul'); // 获取第一个<ul>元素
const lis = ul.getElementsByTagName('li'); // 获取该<ul>下所有的<li>元素
const count = lis.length;               // 获取<li>的数量
console.log(count);

方法四:使用 querySelectornextElementSibling

这种方法适用于遍历特定<ul>下的所有<li>元素。

代码语言:txt
复制
function countLiInUl(ulId) {
  let count = 0;
  const ul = document.getElementById(ulId);
  let li = ul.firstElementChild;
  
  while (li) {
    if (li.tagName === 'LI') {
      count++;
    }
    li = li.nextElementSibling;
  }
  
  return count;
}

const ulId = 'myUl'; // 假设<ul>的id为'myUl'
const count = countLiInUl(ulId);
console.log(count);

应用场景

  • 动态内容更新:当页面上的列表内容动态变化时,可以使用这些方法来实时获取最新的<li>数量。
  • 用户界面反馈:例如,在用户添加或删除列表项时,实时显示当前列表项的数量。
  • 表单验证:确保用户填写了足够数量的列表项。

注意事项

  • 确保<ul>元素存在且正确加载。
  • 如果页面中有多个<ul>元素,需要指定获取哪一个<ul>下的<li>数量。
  • 在处理大量数据时,考虑性能优化,避免不必要的DOM操作。

通过上述方法,你可以有效地获取并处理<ul>元素下的<li>数量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第三节)

    现在就大概说一下思路吧。 实现上一张和下一张的效果,基本上就是改变ul的margin-left值。为了保证无缝滚动,我们需要在5张图片的首部和尾部各加一张图片。...var index = 0; 获取图片的宽度的数量 var imgwidth = $('.banner .content ul li').width(); //获取轮播图片的宽度 var len =...$('.banner .content ul li').length - 2//获取总共的图片数量 移动图片的方法 function movePicture(){ $('.banner .content...反正,这句话一写,就说明request作用域中已经有了basePath,我们在JSP页面的其他地方就可以获取到了。....width(); //获取轮播图片的宽度 var len = $('.banner .content ul li').length - 2//获取总共的图片数量 rightBtn.on('click

    1.3K80

    【Vue】「Vue.js 入门指南」(四)v-for 指令的使用技巧与案例实践

    例如,现在要展示 sɪᴅɪᴏᴛ 的技能列表 items,可以使用以下代码进行迭代: ul> li v-for="item in items">{{ item }}li> ul> 运行结果...例如显示 sɪᴅɪᴏᴛ 的个人信息: ul> li v-for="(value, key) in person">{{ key }} - {{ value }}li> ul> 运行结果:...例如: ul> li v-for="item of items">{{ item }}li> ul> 运行结果: 【v-for 指令】代码点击此处跳转。...案例:电子记事本 经过上面的知识学习,让我们写一个小 demo 来练练手,巩固一下吧。 现在有电子记事本模板如下所示: 【电子记事本模板】代码点击此处跳转。...,合计的数量都不会发生变化: 合 计: 1 接下来,我们需要对此进行优化一下,方法其实也很简单,合计数量其实就是数组的长度

    71310

    ajax使用案例

    : 开发工具获取的数据如下: 页面展示效果如下: 第一条数据展开如下; 双击这里可跳转到开发工具这个的所有数据的页面: 可以用json工具设置一下格式 这是并发的两次请求: 3、ajax实际代码实现...javascript"> $(function () { }) View Code 现在需要把这些接口拿到,然后获取接口下的数据...: 现在审查元素,刷新一下,network->xhr->有个list 单击查看到当前页面的数据,python对应id1的数据,运维对应id2的数据。...标签并追加到id是box下的ul中,显示返回数据中所有的name并记录是哪条数据的(通过id区分)。...这样就能显示出全部的下面的内容。 然后将第二个ajax的请求api使用拼接的url,因为拼接用了变量,‘’变成反引号。 这里sub_category是0.获取到全部内容。

    11.6K20

    从零开始学 Web 之 移动Web(二)JD移动端网页,移动触屏事件

    /js/index.js"> <!...自动轮播图 // 思路:1.1、使用js在图片开头动态添加原本最后一张图片 // 1.2、使用js在图片结尾动态添加原本第一张图片 // 获取轮播图 var slideshowObj...这里面的难点和重点就是轮播图部分: 1、思路: 要实现轮播图,必须在首尾添加图片,如果直接在 html 代码直接添加图片的话,由于图片的数量是不固定的,那么每次图片的数量发生改变的话,不仅需要设置 html...的源码,而且还要设置对应的 css 代码,所以,为了从后台获取的图片数量不固定的情况下,也能够实现轮播效果,我们可以使用 js 来动态的添加图片。...(比如 ul 下 li 有宽高,ul 会被撑开,有了宽高,但是当 li 浮动起来后,ul 的宽还在, 高为0,此时无法对 ul 触发 touch 事件。)

    2.7K10

    JavaScript-事件委托(事件代理)

    今天给自己的知识结构填个坑,再复习下JS的事件代理。 事件代理可以给JS批量生成的DOM元素添加事件,并且还可以提高效率,因为你确实不用给每个DOM节点添加事件监听了。...现在,有一个ul、li的列表了,, ul id="ulId"> li id="li-1">li 1li> li id="li-2">li 2li> li id="li-3">...li 3li> li id="li-4">li 4li> li id="li-5">li 5li> li id="li-6">li 6li> ul> 那么,当每个子元素被点击的时候...而且这些Li的数量是不定的,因为它们是根据后端返回的JSON生成的。 那么这时,你需要把事件监听器放在它们的父容器 ulId 上面。...这时,当子元素被点击的事件,冒泡到父元素Li上的时候,你就可以通过检查事实的target,从而获取真正被点击的节点元素的引用。 看例子截图: ?

    888100
    领券