Side navigation
#14074 closed bug (fixed)
Opened June 26, 2013 08:29PM UTC
Closed November 07, 2013 05:00PM UTC
Last modified November 15, 2013 02:03PM UTC
jQuery 1 throws an error on window ready when there is an element in the DOM with the id 'nodeName'
Reported by: | me@pauloldridge.com | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | 1.11 |
Component: | core | Version: | 1.10.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
When triggering the window ready event jQuery 1, since version 1.8.0, throws the error:
Uncaught TypeError: Object #<HTMLSpanElement> has no method 'toLowerCase'
on the line:
var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];
The error is thrown when an element exists in the DOM with the id: "nodeName" or window.nodeName is defined as something
This is caused by passing the window object into acceptData, which is meant for DOM Elements. When the nodeName property is defined on the window object to be anything which doesn't have a toLowerCase function, the error is thrown.
JSFiddle test case: http://jsfiddle.net/6HWPr/5/
Bug originally posted to StackOverflow: http://stackoverflow.com/q/17329025/772035
Attachments (0)
Change History (4)
Changed June 27, 2013 02:27AM UTC by comment:1
component: | unfiled → core |
---|---|
priority: | undecided → low |
status: | new → open |
Changed July 01, 2013 09:55PM UTC by comment:2
milestone: | None → 1.next |
---|
Changed November 07, 2013 05:00PM UTC by comment:3
resolution: | → fixed |
---|---|
status: | open → closed |
Fix #14074: element id="nodeName". Close gh-1389.
(cherry picked from commit 126d596b56924613687329b7aab4f0cdf4b593b3)
Conflicts:
src/data.js
src/data/accepts.js
test/unit/core.js
test/unit/data.js
Changeset: c66a5e70f2745048b30b7e7e8801d70ce9c640c7
Changed November 15, 2013 02:03PM UTC by comment:4
milestone: | 1.next → 1.11 |
---|
Well, that's strange. This is certainly not high priority, but acceptData could probably check
nodeType === 1
instead.