问题描述

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <script src="https://cdn.bootcss/jquery/3.4.1/jquery.min.js"></script>
</head>

<body>
<ul>
    <li>北京</li>
    <li>上海</li>
    <li>广州</li>
    <li>深圳</li>
</ul>
</body>
</html>


我想选择文本为【广州】的li,$("li[text='广州']")是不行的,因为CSS选择器只针对CSS,不能访问文本

解决方案

  • 手动加id或class或自定义attribute(不方便)
  • 使用jQuery的:contains()
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <script src="https://cdn.bootcss/jquery/3.4.1/jquery.min.js"></script>
</head>

<body>
<ul>
    <li>北京</li>
    <li>上海</li>
    <li>广州</li>
    <li>深圳</li>
</ul>

<script>
    console.log($("li:contains('广州')").text());
</script>
</body>
</html>

参考文献

  1. :contains() Selector
  2. CSS 选择器 | 菜鸟教程

更多推荐

jQuery根据文本内容text进行选择