Javascript 如何在table元素中提取href属性
我有一个表,表中的每个单元格都有特定的url。我正在尝试使用jquery获取特定单元格上的url。这里的问题是没有为表、行和列定义类或id。只想只使用标签拉href属性Javascript 如何在table元素中提取href属性,javascript,jquery,Javascript,Jquery,我有一个表,表中的每个单元格都有特定的url。我正在尝试使用jquery获取特定单元格上的url。这里的问题是没有为表、行和列定义类或id。只想只使用标签拉href属性 <table> <tr> <td><a href='MytestSite11.com'>site21</a></td> <td><a
<table>
<tr>
<td><a href='MytestSite11.com'>site21</a></td>
<td><a href='MytestSite12.com'>site22</a></td>
<td><a href='MytestSite13.com'>site23</a></td>
</tr>
<tr>
<td><a href='MytestSite21.com'>site21</a></td>
<td><a href='MytestSite22.com'>site22</a></td>
<td><a href='MytestSite23.com'>site23</a></td>
</tr>
<tr>
<td><a href='MytestSite31.com'>site21</a></td>
<td><a href='MytestSite32.com'>site22</a></td>
<td><a href='MytestSite33.com'>site23</a></td>
</tr>
</table>
您忘记在第二个变量中指定元素:
var $col=$row.find('td').eq(1)
然后,在其中指定锚点:
alert($col.find('a').attr('href'));
值得一提的是,美元字符作为变量前缀通常用于表示数组或集合。在这里,您将在单个项目上使用它 您忘记在第二个变量中指定元素:
var $col=$row.find('td').eq(1)
然后,在其中指定锚点:
alert($col.find('a').attr('href'));
值得一提的是,美元字符作为变量前缀通常用于表示数组或集合。在这里,您将在单个项目上使用它 这是一种简单的方法:
var $row = $('table tr:nth-child(2)'), // row
$col = $row.children('td:nth-child(2)'), // column
$a = $col.children('a'); // anchor
alert($a.attr('href'));
:第n个子元素(n)
选择器将匹配位于共享父元素子元素中某个索引处的元素。请注意,它是基于1的,而不是基于0的(例如,像JavaScript数组),因此第二个子元素是:第n个子元素(2)
,第三个子元素是:第n个子元素(3)
,等等
这里有一个简单的方法。这是一个简单的方法:
var $row = $('table tr:nth-child(2)'), // row
$col = $row.children('td:nth-child(2)'), // column
$a = $col.children('a'); // anchor
alert($a.attr('href'));
:第n个子元素(n)
选择器将匹配位于共享父元素子元素中某个索引处的元素。请注意,它是基于1的,而不是基于0的(例如,像JavaScript数组),因此第二个子元素是:第n个子元素(2)
,第三个子元素是:第n个子元素(3)
,等等
这是一个。这是第二行第二列的href元素
$("table tr:eq(1) td:eq(1) a").attr("href");
这是第二行第二列的href元素
$("table tr:eq(1) td:eq(1) a").attr("href");
您可以一次完成所有操作:
$('table tr:nth child(2)td:nth child(2)a')。attr('href')代码>
$(文档).ready(函数(){
警报($('table tr:nth child(2)td:nth child(2)a').attr('href'));
});代码>
您可以一次完成所有操作:$('table tr:nth child(2)td:nth child(2)a').attr('href')代码>
$(文档).ready(函数(){
警报($('table tr:nth child(2)td:nth child(2)a').attr('href'));
});代码>
试试这个:
var a = $("tr").eq(1).find("td").eq(1).find("a").attr("href");
alert(a);
试试这个:
var a = $("tr").eq(1).find("td").eq(1).find("a").attr("href");
alert(a);
您还可以使用函数检索值:
getMe(行号、列号)代码>
$(文档).ready(函数(e){
getMe(2,2);
});
函数getMe(rowN,colN){
var link=$($tr:eq(“+(rowN-1)+”)td:eq(“+(colN-1)+”)a”).attr(“href”);
警报(链接);
}
您还可以使用以下函数检索值:
getMe(行号、列号)代码>
$(文档).ready(函数(e){
getMe(2,2);
});
函数getMe(rowN,colN){
var link=$($tr:eq(“+(rowN-1)+”)td:eq(“+(colN-1)+”)a”).attr(“href”);
警报(链接);
}
$col
是该行的
,该行没有href。您需要$col.children('a')。attr('href')
$col
是该行的
,该行没有href。您需要$col.children('a').attr('href')
将其更改为var$col=$row.find('td a').eq(1)
,它是
元素,带有href
。OP显然希望将事物分开。答案已更新。将其更改为var$col=$row.find('td a')。eq(1)
,它是
元素,带有href
。OP显然希望将事物分开。答案已更新。