获取jQuery的href属性
我有一些表行
我需要在属性中获取超链接。 我用这个脚本
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
在循环中你应该引用当前的procceded元素,所以写:
var a_href = $(this).find('div.cpt h2 a').attr('href');
var a_href = $('div.cpt').find('h2 a').attr('href');
应该
var a_href = $(this).find('div.cpt').find('h2 a').attr('href');
在第一行中,您的查询将搜索整个文档。 在第二个中,查询从你的tr
元素开始,只获取它下面的元素。 (如果你愿意的话,你可以把它们结合起来,我把它们分开来说明这一点。)
用这个:
$(function(){ $("tr.b_row").each(function(){ var a_href = $(this).find('div.cpt h2 a').attr('href'); alert ("Href is: "+a_href); }); });
查看工作演示: http : //jsfiddle.net/usmanhalalit/4Ea4k/1/
添加this
的引用,引用您的b_row
:
$("tr.b_row").each(function(){ var a_href = $( this ).find('div.cpt h2 a').attr('href'); alert ("Href is: "+a_href); });
很简单,使用this
作为上下文: http : //api.jquery.com/jQuery/#selector-context
var a_href = $('div.cpt', this).find('h2 a').attr('href');
哪个说,只在里面找到'div.cpt'
使用$(this)
获取欲望元素。
function openAll() { $("tr.b_row").each(function(){ var a_href = $(this).find('.cpt h2 a').attr('href'); alert ("Href is: "+a_href); }); }