我有一些表行
<tr class="b_row"> <td> <div class="cpt"> <h2> <a href="/ref/ref/1.html">example</a> </h2> </div> </td> </tr> <!--more elements --> <tr class="b_row"> <td> <div class="cpt"> <h2> <a href="/ref/two/23.html">example N</a> </h2> </div> </td> </tr>
function openAll() { $("tr.b_row").each(function(){ var a_href = $('div.cpt').find('h2 a').attr('href'); alert ("Href is: "+a_href); }); }
问题:变量a_href始终是/ ref / ref / 1.html
解决方法
在循环中你应该参考当前被处理的元素,所以写:
var a_href = $(this).find('div.cpt h2 a').attr('href');