You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Jquery获取LI的ID及内部标题元素内容?

解决方法:获取LI内的标题内容

没问题,我来帮你搞定这个问题~ 你现在的点击功能正常,但没法单独拿到li里的标题文本,核心原因是$(this).text()会获取整个li下的所有文本内容(包括标题和下面的描述文字),我们只需要精准定位标题元素就能解决这个问题:

修改后的JavaScript代码

$("#list li").on('click', function() {
 var get_id = $(this).attr('id');
 // 定位li内的h2或h3标题,获取文本并去除多余空格
 var get_title = $(this).children('h2, h3').first().text().trim();
 
 console.log('当前LI的ID:', get_id);
 console.log('标题内容:', get_title);
 // 可以对比看看整个LI的所有文本
 console.log('LI全部文本:', $(this).text().trim());
});

代码细节说明

  • $(this).children('h2, h3'):只查找当前li的直接子元素里的h2或h3标签,比find()更高效,因为不会遍历所有后代元素
  • .first():确保即使li内有多个标题元素(你的示例里每个li只有一个),也只取第一个标题的内容
  • .trim():去除文本前后的换行、空格,让输出的标题内容更干净整洁

完整可运行示例代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="list">
 <li id="myID">
 <h2>Title</h2>
 First One
 </li>
 <li id="myID2">
 <h2>Title 2</h2>
 Two
 </li>
 <li id="myID4">
 <h3>Title 3</h3>
 Tree
 </li>
</ul>

<script>
$("#list li").on('click', function() {
 var get_id = $(this).attr('id');
 var get_title = $(this).children('h2, h3').first().text().trim();
 
 console.log('ID:', get_id);
 console.log('标题:', get_title);
});
</script>

小提醒:我把你原来引入的core.js换成了完整的jquery.min.js,因为core.js只包含最基础的核心功能,可能会导致事件绑定等功能出现异常哦~

内容的提问来源于stack exchange,提问作者Marvio Rocha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:15:14