javascript - 如何获取每个字符串的第一个实例?
问题描述
jQuery中是否有一种方法可以找到包含第一个字符串实例的每个元素?
<ul>
<li>1</li> <-- find this
<li>1</li>
<li>1</li>
<li>2</li> <-- find this
<li>2</li>
<li>3</li> <-- find this
<li>3</li>
<li>3</li>
<li>3</li>
</ul>
解决方案
一种选择是使用Set
对象来跟踪<li>
. 用于获取对象上未找到的filter
所有对象。<li>
Set
$(function() {
var found = new Set();
var firstLI = $("ul > li").filter(function() {
var text = $(this).text().trim();
if (!found.has(text)) {
found.add(text);
return true;
}
return false;
});
//Testting
firstLI.addClass("first");
});
.first {
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>1</li> <!-- find this -->
<li>1</li>
<li>1</li>
<li>2</li> <!-- find this -->
<li>2</li>
<li>3</li> <!-- find this -->
<li>3</li>
<li>3</li>
<li>3</li>
</ul>
推荐阅读
- python-3.x - 试图从给定的一系列输入中返回第二低等级的持有者
- javascript - 如何操纵每个滚动运动的值?
- python - oauth2client.client.ApplicationDefaultCredentialsError
- python - 将字符串中的 char 与其索引号相乘
- java - 配置为侦听端口 8080 的 Tomcat 连接器无法启动。端口可能已在使用中或连接器可能配置错误
- r - 当我将参数名称作为字符向量时,如何生成“alist”?
- git - git commit --amend 不提交更改
- laravel - Laravel:雄辩的 HAVING 返回无效的数据集
- reactjs - 用承诺对 redux 问题做出反应,因为我的变量为 null
- python - Python tabula read_pdf 打开 java 控制台窗口