我有一些表行
- <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');