Ticket #9962 (closed bug: fixed)
When the container has an ID containing a backslash, find( IDselector ) does not find the child.
| Reported by: | LordPalpatine | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.8 |
| Component: | selector | Version: | 1.6.2 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Traversing-function "find()" (v.1.6.2) not working anymore. With v1.4.2 no problems. See test-page below, code "$objMain.find('#divEntityData');", "div"-object will not be found.
<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=" http://www.w3.org/1999/xhtml"> <head>
<title></title> <script src="jQuery/jquery-1.6.2.min.js" type="text/javascript"></script> <script type="text/javascript">
function Test() {
var $objMain = $('.ms-entity-resolved'); var $obj = $objMain.find('#divEntityData');
}
</script>
</head> <body>
<span id="spanKSI\sho" class="ms-entity-resolved">
<div id="divEntityData"></div> <span id="content">KSI\sho </span>
</span>
<button onclick="Test()">Test</button>
</body> </html>
Change History
comment:3 Changed 23 months ago by timmywil
- Priority changed from undecided to low
- Summary changed from find() not working to When the container has an ID containing a backslash, find( IDselector ) does not find the child.
- Milestone changed from None to 1.next
Seems this is only a problem for an ID selector and only when the container has an ID containing a backslash.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Test case:
http://jsfiddle.net/dmethvin/9GVYP/
However, that is invalid XHTML. You can't put a block element inside an inline element. Valid markup shows the same behavior:
http://jsfiddle.net/dmethvin/9GVYP/1/