我使用jQuery从头开始编写搜索功能,以满足特定需求。它会搜索来自<span>
的{{1}}的数据,如果它与文本框中的字符串不匹配,则会隐藏<div>
。
我遇到的问题是它会识别字符串而不是第一个字符。它也区分大小写,这不是我想要包含的功能。
<div>
答案 0 :(得分:5)
问题是你的if语句忽略了第一个字符,因为第一个字符是索引0。
if (currentAuthor.search(searchBox1) > 0)
应该是:
if (currentAuthor.search(searchBox1) >= 0)
如果您的区分大小写,则需要应用toUpperCase()
或toLowerCase()
。
if (currentAuthor.ToUpperCase().search(searchBox1.toUpperCase()) >= 0)
答案 1 :(得分:2)
我遇到的问题是它会识别字符串而不是第一个字符。
你的问题就在这里:
if (currentAuthor.search(searchBox1) > 0)
JS中的String.search为您提供第一场比赛的位置。如果这是您文本的开头,则为0
。
找不到匹配项的返回值不是0
,而是-1
。