Bug 14805 - innerText doesn't return display:none or visibility:hidden text
: innerText doesn't return display:none or visibility:hidden text
Status: NEW
Product: WebKit
Classification: Unclassified
Component: HTML DOM
: 523.x (Safari 3)
: Macintosh OS X 10.4
: P4 Minor
Assigned To: Nobody
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-07-29 13:03 PDT by Derk-Jan Hartman
Modified: 2015-03-14 11:07 PDT (History)
5 users (show)

See Also:


Attachments
Test case from Comment #0 (402 bytes, text/html)
2007-07-29 13:58 PDT, David Kilzer (:ddkilzer)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Derk-Jan Hartman 2007-07-29 13:03:13 PDT
I trust the intent here is to emulate IE behaviour, because innerText does not seem to have a standard specification.

It seems that there is currently a difference in behaviour though, take the following HTML
<td><span style="display:none">02005-06-02</span> <a href="/wiki/June_2" title="June 2">June 2</a>, <a href="/wiki/2005" title="2005">2005</a></td>

in IE innerText should result in: "02005-06-02 June 2, 2005"  (at least earlier versions, I did not test in IE7)
on Safari 3.0.2 i get: "June 2, 2005"
Comment 1 David Kilzer (:ddkilzer) 2007-07-29 13:58:42 PDT
Created attachment 15725 [details]
Test case from Comment #0

Both Safari 2.0.4 (419.3) with original WebKit and Safari 3 Public Beta v. 3.0.2 (522.12) with a local debug build of WebKit r24749 on Mac OS X 10.4.10 (8R218) both result in:

Actual td.innerText = 'June 2, 2005'

Firefox 2.0.0.5 on 10.4.10:

Actual td.innerText = 'undefined'
Comment 2 Sam Weinig 2007-07-29 14:39:12 PDT
As a work around, you can can use the textContent attribute to get the same result as innerText on IE.
Comment 3 Derk-Jan Hartman 2007-08-09 15:17:20 PDT
This workaround is now used in wikipedia http://svn.wikimedia.org/viewvc/mediawiki?view=rev&revision=24647

However, i still think that if we implement IE specific behaviour, it should either work exactly like that, or not be implemented at all.