Bug Tracker

Ticket #11212 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

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 3 years 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 3 years 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 3 years 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

 http://jsfiddle.net/PREjM/5/

comment:5 Changed 3 years ago by dmethvin

  • Keywords ie6 ie7 ie8 added
  • Priority changed from undecided to low
  • Status changed from new to open
  • Component changed from unfiled to attributes
  • Milestone changed from None to 1.8

Another result of the 1.7 Sizzle.getText() change for oldIE.

comment:6 Changed 3 years ago by timmywil

  • Status changed from open to closed
  • Resolution set to fixed

This no longer applies as we no longer use innerText.

Note: See TracTickets for help on using tickets.