获取jQuery上的href属性
我有几排桌子获取jQuery上的href属性,jquery,get,href,each,attr,Jquery,Get,Href,Each,Attr,我有几排桌子 <tr class="b_row"> <td> <div class="cpt"> <h2> <a href="/ref/ref/1.html">example</a> </h2> </div> </td> </tr> <!--m
<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>
问题:变量
a_href
在循环中始终是/ref/ref/1.html您应该引用当前处理的元素,所以写:
var a_href = $(this).find('div.cpt h2 a').attr('href');
应该是
var a_href = $(this).find('div.cpt').find('h2 a').attr('href');
在第一行中,查询搜索整个文档。在第二种情况下,查询从
tr
元素开始,只获取它下面的元素。(如果愿意,您可以将组合起来查找
,我将它们分开以说明这一点。)添加对此
的引用,该引用指向您的行
:
$("tr.b_row").each(function(){
var a_href = $( this ).find('div.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
使用$(this)
获取所需元素
function openAll()
{
$("tr.b_row").each(function(){
var a_href = $(this).find('.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
}
非常简单,使用
此
作为上下文:
也就是说,只在这个中找到'div.cpt'
,使用这个:
$(function(){
$("tr.b_row").each(function(){
var a_href = $(this).find('div.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
});
查看工作演示:
function openAll()
{
$("tr.b_row").each(function(){
var a_href = $(this).find('.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
}
var a_href = $('div.cpt', this).find('h2 a').attr('href');
$(function(){
$("tr.b_row").each(function(){
var a_href = $(this).find('div.cpt h2 a').attr('href');
alert ("Href is: "+a_href);
});
});