【问题标题】:Matching jquery .text() to  匹配 jquery .text() 到
【发布时间】:2011-12-23 18:17:16
【问题描述】:

由于我无法控制的情况,SharePoint,我有以下代码。

var item = $('<span><font size=1>&nbsp;</font></span>').text()

我正在尝试将 .text() 值与 &amp;nbsp; 进行比较,但不知道该怎么做。单步执行代码item 似乎等于“”,这是有道理的。但是做item == " " 会返回假。这个比较应该怎么做?

编辑:小提琴示例

http://jsfiddle.net/hUBeP/2/

【问题讨论】:

标签: jquery text whitespace


【解决方案1】:

尝试检查'\xa0'(这是&amp;nbsp;创建的字符):

var item = $("<span><font size=1>&nbsp;</font></span>").text();
alert("'" + item + "' " + (item == '\xa0'));

http://jsfiddle.net/hUBeP/3/

【讨论】:

  • 做到了! @Rup - 它只会在 IE 中运行,因此浏览器依赖性并不是真正的问题。干杯。
  • 实际上它也可以在 Firefox 中使用 - 并且可能也可以在其他浏览器中使用。
  • 是的,我不小心添加了最后一条未完成的评论。现已更新!
  • 在使用 .text() 函数向跨度添加不间断空格时,您也可以使用 '\xa0'。
【解决方案2】:

将其与&amp;nbsp; 进行比较,因为那是您要匹配的内容。似乎不是这样,因为浏览器呈现的是空格,而不是字符。将其与&amp;nbsp; 进行比较应该导致比较两组&amp;nbsp;s,或者比较两个相同的空格。

【讨论】:

  • 从技术上讲,我可以将它与$("&lt;p&gt;&amp;nbsp;&lt;/p&gt;").text() 进行比较。但是 ThiefMaster 的解决方案要干净得多。
  • 同意,尤其是因为您不关心跨浏览器问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多