I have this piece of html:
<div id="1">
<div class="text">
Text for div 2
</div>
<img src="images/image1.jpg"></img>
</div>
<div id="2">
<div class="text">
Text in div 2
</div>
<img src="images/image2.jpg"></img>
</div>
Which I grab with a simple .ajax-call
var html = $.ajax({
url: "htmlsnippet.html",
cache: false,
async: false,
dataType: "html"
}).responseText;
If I filter it with:
var htmlFiltered = $(html).filter("#1");
it works just fine, I get the whole div with id=”1″,
but if I use:
var htmlFiltered = $(html).filter("#1 .text");
the htmlFiltered variable is an empty object.
I can’t figure out what I’m doing wrong.
You should store it this way:
EDIT: Your way of obtaining html works, but it’s not recommended.
You can’t grab your last element because you’re using
filterinstead offind, so you should have:instead of
Also W3C recommends not to have numeric IDs.
EDIT 2: This should work:
Hope this helps. Cheers