-1

我是 Javascript 初学者。我有一个表格,最后一列的每个单元格都有链接。我需要遍历每个单元格并更改该单元格中的 href 的 onclick 功能。最初,我不知道 hrefs 的 id,所以我不能使用 id 来引用它们。一个单元格中只有一个链接。我不想使用 jQuery

这是细胞的样子:

<td><a title="my title text" id="cell_id" href="#" class="someclass">Anchor</a></td>

根据下面的答案,我尝试构建这样的东西:

for (var i = 0 ;i<tbl.rows.length-1; i++) {
             tbl.rows[i].lastChild.getElementsByTagName("a")[0].innerHTML="X1";
    }

但这不起作用。错误是:

未捕获的类型错误:对象 #<Text> 没有方法“getElementsByTagName”

4

2 回答 2

0

如果您可以使用 JQuery,则可以这样完成:

$('table tr td:last-child').each(function(){
  $(this).find('a').attr('href', 'NEW_HREF');
});

这将选择每行中的最后一个 'td' 并在其中找到 a 元素并将 href 替换为您放置的任何内容来代替 'NEW_HREF'

您需要包含 jQuery,这可以通过将以下内容插入页面部分来完成:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
于 2013-01-14T21:15:55.903 回答
0

如果单元格内有“a”元素,请尝试此操作

document.getElementsByTagName("a")[0].getAttribute("href");

或者如果你想设置属性

document.getElementsByTagName("a")[0].setAttribute("href", "somelink.com");

像这样的东西可能会起作用..它很难提供帮助,因为您没有提供一些代码来知道您要做什么

var links = document.querySelector("table tr td:last-child");

for (var i = 0; i < links.length; i++)
{
   links[i].setAttribute("href", "somelink.com");
}
于 2013-01-14T21:06:18.533 回答