Bug Tracker

Ticket #4272 (closed bug: invalid)

Opened 7 years ago

Last modified 6 years ago

$('#id ~ div') doesn't work with divs

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


so if you have div id="x" div class='test' div class='test'

class test should be selected byt is not, i've checked with ver 1.2.6 and its fine

and if instedad of div i will use e.g. span then everything is fine


jquery_test.html Download (305 bytes) - added by davidserduke 6 years ago.

Change History

comment:1 Changed 7 years ago by dmethvin

  • Owner set to john


<div id="x"></div> <div class='test'></div> <div class='test'></div> 
alert($("#x ~ div").length)

Selects two elements in 1.2.6 but none in 1.3.2.

comment:2 Changed 6 years ago by dmethvin

  • Component changed from unfilled to selector

Changed 6 years ago by davidserduke

comment:3 Changed 6 years ago by davidserduke

  • Status changed from new to closed
  • Resolution set to invalid

This appears to be an invalid markup problem.

Assuming the test case meant this:

    <script type="text/javascript" src="../jquery.js"></script>
    <div id="x"></div> 
    <div class='test'></div> 
    <div class='test'></div>
    <script>alert($("#x ~ div").length);</script>

I tested in FF3.5 I saw the HTML generated by the test case put the ending script tag in the header. Of course then it wasn't waiting for the document to be ready which caused it to find no elements.

Closing on that basis but please reopen if you can find valid markup that causes this same behavior.

Note: See TracTickets for help on using tickets.