更改<a> inside for every row in <table></table></a>的内容

时间:2012-02-28 13:15:05

标签: jquery html-table

我有一张大表,每行有6列。每行看起来都是这样的,具有不同的值:

<tr>
<td>year</td>
<td><a href="2012/some_file_path.pdf" target="_blank">Some Title</a></td>
<td>subject</td>
<td>catego</td>
<td>Department</td>
<td>name</td>
</tr>

我想使用jQuery将<a>(本例中为“某个标题”)中的文本替换为其路径:

<tr>
<td>year</td>
<td><a href="2012/some_file_path.pdf" target="_blank">2012/some_file_path.pdf</a></td>
<td>subject</td>
<td>catego</td>
<td>Department</td>
<td>name</td>
</tr>

这对我来说是一个调试器来验证我是否拥有所有文件..但我不知道该怎么做。任何帮助将不胜感激!


我有类似的想法,但我真的不知道语法:

function debug(){
    $('#datatable').find('tr').each
      $path = $('td:first-child + td > a').getHref();
      $('td:first-child + td > a').set($path);  
}

1 个答案:

答案 0 :(得分:2)

jQuery对象具有an each() function,它允许您为与jQuery对象的选择器匹配的每个DOM元素提供一次运行的函数。

假设这是页面上唯一的表格,并且该表格不包含您要更改的链接以外的任何链接,则应该这样做:

$('table td a').each(function(){
    // Within a function passed to each(), “this” refers to the DOM element for 
    // which the function is being run.
    $link = $(this);

    $link.text($link.attr('href'));
});