1
1
define ( [
2
2
"./core" ,
3
+ "./core/nodeName" ,
3
4
"./var/document" ,
4
5
"./var/documentElement" ,
5
6
"./var/indexOf" ,
@@ -12,7 +13,8 @@ define( [
12
13
"./selector/contains" ,
13
14
"./selector/escapeSelector" ,
14
15
"./selector/uniqueSort"
15
- ] , function ( jQuery , document , documentElement , indexOf , pop , push , rbuggyQSA , support ) {
16
+ ] , function ( jQuery , nodeName , document , documentElement , indexOf , pop , push ,
17
+ rbuggyQSA , support ) {
16
18
17
19
"use strict" ;
18
20
@@ -145,7 +147,7 @@ var i,
145
147
146
148
inDisabledFieldset = addCombinator (
147
149
function ( elem ) {
148
- return elem . disabled === true && elem . nodeName . toLowerCase ( ) === "fieldset" ;
150
+ return elem . disabled === true && nodeName ( elem , "fieldset" ) ;
149
151
} ,
150
152
{ dir :"parentNode" , next :"legend" }
151
153
) ;
@@ -310,8 +312,7 @@ function markFunction( fn ) {
310
312
*/
311
313
function createInputPseudo ( type ) {
312
314
return function ( elem ) {
313
- var name = elem . nodeName . toLowerCase ( ) ;
314
- return name === "input" && elem . type === type ;
315
+ return nodeName ( elem , "input" ) && elem . type === type ;
315
316
} ;
316
317
}
317
318
@@ -321,8 +322,8 @@ function createInputPseudo( type ) {
321
322
*/
322
323
function createButtonPseudo ( type ) {
323
324
return function ( elem ) {
324
- var name = elem . nodeName . toLowerCase ( ) ;
325
- return ( name === "input" || name === "button" ) && elem . type === type ;
325
+ return ( nodeName ( elem , "input" ) || nodeName ( elem , "button" ) ) &&
326
+ elem . type === type ;
326
327
} ;
327
328
}
328
329
@@ -603,13 +604,13 @@ Expr = jQuery.expr = {
603
604
} ,
604
605
605
606
TAG :function ( nodeNameSelector ) {
606
- var nodeName = nodeNameSelector . replace ( runescape , funescape ) . toLowerCase ( ) ;
607
+ var expectedNodeName = nodeNameSelector . replace ( runescape , funescape ) . toLowerCase ( ) ;
607
608
return nodeNameSelector === "*" ?
608
609
function ( ) {
609
610
return true ;
610
611
} :
611
612
function ( elem ) {
612
- return elem . nodeName && elem . nodeName . toLowerCase ( ) === nodeName ;
613
+ return nodeName ( elem , expectedNodeName ) ;
613
614
} ;
614
615
} ,
615
616
@@ -697,7 +698,7 @@ Expr = jQuery.expr = {
697
698
node = elem ;
698
699
while ( ( node = node [ dir ] ) ) {
699
700
if ( ofType ?
700
- node . nodeName . toLowerCase ( ) === name :
701
+ nodeName ( node , name ) :
701
702
node . nodeType === 1 ) {
702
703
703
704
return false ;
@@ -753,7 +754,7 @@ Expr = jQuery.expr = {
753
754
( diff = nodeIndex = 0 ) || start . pop ( ) ) ) {
754
755
755
756
if ( ( ofType ?
756
- node . nodeName . toLowerCase ( ) === name :
757
+ nodeName ( node , name ) :
757
758
node . nodeType === 1 ) &&
758
759
++ diff ) {
759
760
@@ -919,9 +920,8 @@ Expr = jQuery.expr = {
919
920
920
921
// In CSS3, :checked should return both checked and selected elements
921
922
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
922
- var nodeName = elem . nodeName . toLowerCase ( ) ;
923
- return ( nodeName === "input" && ! ! elem . checked ) ||
924
- ( nodeName === "option" && ! ! elem . selected ) ;
923
+ return ( nodeName ( elem , "input" ) && ! ! elem . checked ) ||
924
+ ( nodeName ( elem , "option" ) && ! ! elem . selected ) ;
925
925
} ,
926
926
927
927
selected :function ( elem ) {
@@ -967,13 +967,12 @@ Expr = jQuery.expr = {
967
967
} ,
968
968
969
969
button :function ( elem ) {
970
- var name = elem . nodeName . toLowerCase ( ) ;
971
- return name === "input" && elem . type === "button" || name === "button" ;
970
+ return nodeName ( elem , "input" ) && elem . type === "button" ||
971
+ nodeName ( elem , "button" ) ;
972
972
} ,
973
973
974
974
text :function ( elem ) {
975
- return elem . nodeName . toLowerCase ( ) === "input" &&
976
- elem . type === "text" ;
975
+ return nodeName ( elem , "input" ) && elem . type === "text" ;
977
976
} ,
978
977
979
978
// Position-in-collection
@@ -1167,7 +1166,7 @@ function addCombinator( matcher, combinator, base ) {
1167
1166
if ( elem . nodeType === 1 || checkNonElements ) {
1168
1167
outerCache = elem [ expando ] || ( elem [ expando ] = { } ) ;
1169
1168
1170
- if ( skip && skip === elem . nodeName . toLowerCase ( ) ) {
1169
+ if ( skip && nodeName ( elem , skip ) ) {
1171
1170
elem = elem [ dir ] || elem ;
1172
1171
} else if ( ( oldCache = outerCache [ key ] ) &&
1173
1172
oldCache [ 0 ] === dirruns && oldCache [ 1 ] === doneName ) {