Bug Tracker

Opened 10 years ago

Closed 9 years ago

#4748 closed bug (worksforme)

selector strangeness

Reported by: morgancodes Owned by: john
Priority: major Milestone: 1.4
Component: selector Version: 1.3.2
Keywords: Cc:
Blocked by: Blocking:

Description

I'm getting inconsistant results across browsers with the following code (note -- files are attached):

============ test.html ===========

<!DOCTYPE html PUBLIC "-W3CDTD HTML 4.01EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en"> <head>

<script type="text/javascript" src="http://ajax.googleapis.com/

ajax/libs/jquery/1.3/jquery.min.js"></script> </head> <body> <script>

var xml;

$.ajax({

type: "GET", url: "data.xml", success: function(data){

var node = $("CI:first", data); var query1 = $("T TX", node).length; var query2 = $("T", node).find("TX").length;

var msg = '$("T TX", node).length: ' + query1; msg += "\n"; msg += '$("T", node).find("TX").length: ' + query2; alert(msg);

}

});

</script> </body> </html>

I'm getting inconsistant results across browsers with the following test:

============ test.html ===========

<!DOCTYPE html PUBLIC "-W3CDTD HTML 4.01EN"

"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en"> <head>

<script type="text/javascript" src="http://ajax.googleapis.com/

ajax/libs/jquery/1.3/jquery.min.js"></script> </head> <body> <script>

$.ajax({

type: "GET", url: "data.xml", success: function(data){

var node = $("CI:first", data); var query1 = $("T TX", node).length; var query2 = $("T", node).find("TX").length;

var msg = '$("T TX", node).length: ' + query1; msg += "\n"; msg += '$("T", node).find("TX").length: ' + query2; alert(msg);

}

});

</script> </body> </html>

============ data.xml ===========

<?xml version="1.0" encoding="ISO-8859-2"?>

<CNs>

<CI>

<T>

<TX></TX>

</T>

</CI> <CI>

<T>

<TX></TX>

</T>

</CI> <CI>

<T>

<TX></TX>

</T>

</CI>

</CNs>

What should happen is this:

  • Load xml via ajax call
  • select an xml node: $("CI:first", data);
  • select a node within that node: $("T TX", node)
  • second selection should only come up with one "TX" tag

However, in IE6 and IE8 (haven't tried IE7), the second selection seems to ignore the "node" context, and search the entire xml document. The test runs as expected in FireFox and Safari. Doing it this way works in IE $("T", node).find("TX"). Any explanations of why $ ("T TX", node) doesn't work in IE?

Attachments (2)

test.html (985 bytes) - added by morgancodes 10 years ago.
data.xml (217 bytes) - added by morgancodes 10 years ago.

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by morgancodes

Attachment: test.html added

Changed 10 years ago by morgancodes

Attachment: data.xml added

comment:1 Changed 10 years ago by morgancodes

Note -- please contact morgan@… if you have any questions or if you come up with a fix!

comment:2 Changed 10 years ago by dmethvin

Component: unfilledselector
Owner: set to john

comment:3 Changed 10 years ago by morgancodes

Just filed a similar bug: http://dev.jquery.com/ticket/5078

comment:4 Changed 9 years ago by addyosmani

#5078 is a duplicate of this ticket.

comment:5 Changed 9 years ago by snover

Resolution: worksforme
Status: newclosed

test case works for me. Looks like it was fixed in 1.4.

Note: See TracTickets for help on using tickets.