Ticket #11212 (closed bug: fixed)
Sizzle.getText converts unbreakable space into whitespace on IE
| Reported by: | cyril.fluck@… | Owned by: | cyril.fluck@… |
|---|---|---|---|
| Priority: | low | Milestone: | 1.8 |
| Component: | attributes | Version: | 1.7.1 |
| Keywords: | ie6 ie7 ie8 | Cc: | |
| Blocking: | Blocked by: |
Description
There is a regression linked to changes made in Sizzle.getText. getText should make the difference between unbreakable space and whitespace.
This was working with jQuery 1.6.4.
Change History
comment:2 Changed 17 months ago by addyosmani
- Owner set to cyril.fluck@…
- Status changed from new to pending
The PR you're referencing doesn't appear to be a valid URL. Could you repost with more information?
comment:3 Changed 17 months ago by cyril.fluck@…
- Status changed from pending to new
Here are the commits fixing this issue https://github.com/jquery/sizzle/pull/91/commits
In IE7 with jQuery 1.6.4, using getText on an element having an unbreakable space ( ) would return a string containing an unbreakable space (code 160). With jQuery 1.7.1, the same getText method replaces by a regular whitespace (code 32).
The reason is the Sizzle.getText method is using now innerText instead of nodeValue.
comment:4 Changed 17 months ago by cyril.fluck@…
You can run this on IE and switch from jQuery 1.6.4 to 1.7.1 to see the different character code that is returned for the unbreakable space
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

I have a fix and made a pull request https://github.com/Cyril-sf/sizzle/commit/a33fc1f47a838fb6d625eb73291205661393f2d2t