gpt4 book ai didi

jquery 包含 : get 1st instance of

转载 作者:行者123 更新时间:2023-12-01 06:24:36 24 4
gpt4 key购买 nike

我有一个包含以下行的表格:

  • 苹果
  • 篮子
  • 桃子
  • 盐水
  • 围裙
  • 汽车
  • 做饭
  • 李子
  • 窒息

我创建了一个计时器解决方案,用户可以开始输入部分单词,并且我希望能够突出显示该行数据。

我通过执行以下操作获得了一些信息:

console.log($('#' + ListBoxVal + ' tr:contains("' + filterString + '")'));

但是,例如,当我输入字母“c”时,我会得到以下结果:

  • 桃子
  • 汽车
  • 窒息
  • 做饭

我真正想要的是更改以“c”开头的单词的第一个实例上的 css。

我研究了选择器(即〜=),但这似乎不起作用。完成从列表中第一个字母开始的过滤器匹配的最佳方法是什么?

更新:

所有的建议都非常接近,但我的例子有点偏离。我更新了上面的列表以使其更加准确。在上面的列表中,如果我的过滤器是字母“c”,下面的所有解决方案仍然会带回“peach”。

很抱歉犯了错误。

更新#2

ShankarSangoli 解决方案是正确的,但我仍然遇到问题,例如,如果我输入字符“ce”,我会得到匹配项:

缺席而不是证书

确保搜索单词的开头而不是整个单词的最佳方法是什么?

最佳答案

要匹配以子字符串开头的文本,您需要实现一个新的选择器:

$.expr[':'].startsWith = function(obj, index, meta, stack){
  return ($(obj).text().indexOf(meta[3]) == 0);
};

您还需要附加 first selector :

$('#' + ListBoxVal + ' tr:startsWith("' + filterString + '"):first');

关于jquery 包含 : get 1st instance of,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com