I have some table rows
-
Use this:
$(function(){
$("tr.b_row").each(function(){
var a_href = $(this).find('div.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
});
See a working demo: http://jsfiddle.net/usmanhalalit/4Ea4k/1/
讨论(0)
-
In loop you should refer to the current procceded element, so write:
var a_href = $(this).find('div.cpt h2 a').attr('href');
讨论(0)
-
Very simply, use this
as the context: http://api.jquery.com/jQuery/#selector-context
var a_href = $('div.cpt', this).find('h2 a').attr('href');
Which says, find 'div.cpt'
only inside this
讨论(0)
-
add a reference to this
, which refers to your b_row
:
$("tr.b_row").each(function(){
var a_href = $( this ).find('div.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
讨论(0)
-
Use $(this)
for get the desire element.
function openAll()
{
$("tr.b_row").each(function(){
var a_href = $(this).find('.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
}
讨论(0)
-
var a_href = $('div.cpt').find('h2 a').attr('href');
should be
var a_href = $(this).find('div.cpt').find('h2 a').attr('href');
In the first line, your query searches the entire document. In the second, the query starts from your tr
element and only gets the element underneath it. (You can combine the find
s if you like, I left them separate to illustrate the point.)
讨论(0)
- 热议问题