获取动态表行的URL

时间:2013-10-14 19:27:56

标签: javascript css url dynamic html-table

我有一个动态生成的表。每个条目都从数据库中提取。每行包含标题,型号和图像 - 作为其自己的<td>

标题全部存储在数据库中:

<a href="site.com/item_01.php">Item 01</a>

所以显示的名称也可以是链接。

问题是 - 只有标题是可点击的,我似乎无法将<a>标记移到相对列之外。我希望现在整个行都可以点击。

问题:有没有办法使用javascript来获取<td>的网址并将其应用于<tr>的网址?这必须是动态的,每一行都是不同的。

(我当然假设使用javascript / jquery为每个类分配URL。)

这样的事情:

<tr class="the_url_that_comes later">
    <td class="grab_this_class's_URL">
        <a href="the_url_i need_to_get">Item_01</a>
    </td>
</tr>

或者我可以以某种方式拉伸其他列,可能使用绝对定位/ z-index / display:block ??

感谢您的帮助,我以前从未遇到过这样的事情!

2 个答案:

答案 0 :(得分:2)

这是一种黑客攻击,但应该可以解决这个问题:

$('tr').click(function() {
    $('a', $(this)).first().click();
});

代码翻译: 对于每个tr元素(每行),使行可单击,单击它时执行以下操作: 在'this'(刚刚单击的行)中找到第一个'a'(链接)元素,并模拟单击它。

所有这一切,理想情况下,您应该将链接存储为数据库中的单独列,并将标题作为前端代码中的链接,而不是将链接存储在标题中。

请注意,此解决方案需要jQuery。

答案 1 :(得分:0)

您可以将网址放在表格行

<tr class="the_url_that_comes later" data-url="the_url_i need_to_get">
  <td class="grab_this_class's_URL">Item_01</td>
</tr>

然后

$('tr').on('click', function () {
  window.location = $(this).data('url');
});