我有一个动态生成的表。每个条目都从数据库中提取。每行包含标题,型号和图像 - 作为其自己的<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 ??
感谢您的帮助,我以前从未遇到过这样的事情!
答案 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');
});