javascript - JQuery .text() 无法使用 indexOf 查找空格

标签 javascript jquery

这很奇怪。

我有一个列表项,其中包含文本“2011 年 5 月 13 日”。我有很多这样的日期,我想使用 JQuery 通过自由文本输入来搜索它们(它们并不总是日期),但是如果我在搜索框中放置一个空格,我似乎无法搜索任何东西.

但是,

li.text() // 13 May 2011
li.text().indexOf('13') // 0
li.text().indexOf('13 ') // -1
li.text().indexOf(' ') // -1
'13 May 2011'.indexOf('13') // 0
'13 May 2011'.indexOf('13 ') // 0
li.text() == '13 May 2011' // false

我已将我的返回文本粘贴到文本到十六进制转换器中,空格字符是“20”(十进制为 32,这是 ASCII 中的空格),所以它不是一个有趣的空格字符。

有没有人遇到过这个问题?有没有人有任何其他想法?

最佳答案

回答我自己的问题。感谢所有通过发表评论一路帮助我的人!

除我机器上的真实版本外,使用此列表项进行的所有测试均正常运行!由于某种原因,它不是一个空格,它是 ASCII 字符 160(一个不间断的空格,HTML 实体  )

进一步调查显示

hex(li.text()) // 31 33 a0 4d 61 79 a0 32 30 31 31
li.text().indexOf('13'+String.fromCharCode(160)) // 0

我不会质疑为什么,至少它现在有效 :D

关于javascript - JQuery .text() 无法使用 indexOf 查找空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455976/

相关文章:

javascript - AngularJS - $resource 未定义

javascript - Dojo 1.7 Ajax 内容和 AMD 要求

javascript - OWL Carousel 2 - 滑动超过 1 个带点的元素

Javascript 返回不适合 UIWebView 给定宽度和高度的内容/字符串

javascript - Google Play 商店安全警报说您的应用程序包含易受攻击的 JavaScript 库如何删除安全警告?

jquery - 尝试在 2 种不同的屏幕尺寸下切换此 jQuery 菜单

javascript - `if (Date >= Date1 && <= Date2 ){do this}` 不工作

javascript - $(document).ready(...) 的调用堆栈是如何组装的?

jquery - 我使用 div 添加了背景图像

javascript - 如何在点击元素时触发网页的谷歌翻译?