Javascript 如何向表格行添加超链接<;tr>;
我有一个表,它的表行Javascript 如何向表格行添加超链接<;tr>;,javascript,php,css,html-table,Javascript,Php,Css,Html Table,我有一个表,它的表行在一个循环中生成,以形成多行 我想为每个提供单独的链接。因为在表中,我们只能将数据添加到中,所以我无法实现这一点 有没有其他方法可以实现这一点?如果您想让每个都可单击,您可以向每个添加单击事件,或者更好的是,将.delegate()处理程序添加到管理其元素单击的表中 $('#myTable').delegate('tr','click',function() { alert( 'i was clicked' ); }); 此代码假定您的表具有myTableID: &
在一个循环中生成,以形成多行
我想为每个
提供单独的
链接。因为在表中,我们只能将数据添加到
中,所以我无法实现这一点
有没有其他方法可以实现这一点?如果您想让每个
都可单击,您可以向每个
添加单击事件,或者更好的是,将.delegate()
处理程序添加到管理其
元素单击的表中
$('#myTable').delegate('tr','click',function() {
alert( 'i was clicked' );
});
此代码假定您的表
具有myTable
ID:
<table id="myTable">
<tr><td> cell </td></tr>
<tr><td> cell </td></tr>
</table>
细胞
细胞
如果这不是你的意思,那么请澄清你的问题,并发布你正在使用的相关javascript代码。
<tr><td><a></a></td></tr>
这?我同意第一个回答,需要更多信息。但是如果你只是想建立一个链接表,你可以这样做
<tr><td><a href="...">...</a></td></tr>
高级建议是在生成表时添加标记。如果需要在呈现表之后执行此操作,并且希望使用javascript,则可以添加如下内容
var mytable = document.getElementById("theTable")
var myrows = mytable.rows
for(i=0;i < myrows.length;i++)
{
var oldinner;
oldinner = myrows[i].cells[0].innerHTML;
myrows[i].cells[0].innerHTML = "<a>" + oldinner + "</a>";
}
var mytable=document.getElementById(“theTable”)
var myrows=mytable.rows
对于(i=0;i
或者如果你需要对每个细胞都这样做,你可以
var mytable = document.getElementById("theTable")
var myrows = mytable.rows
for(i=0;i < myrows.length;i++)
{
mycells = myrows[i].cells;
for(a=0;a < mycells.length;a++)
{
var oldinner;
oldinner = mycells[a].innerHTML;
mycells[a].innerHTML = "<a>" + oldinner + "</a>";
}
}
var mytable=document.getElementById(“theTable”)
var myrows=mytable.rows
对于(i=0;i
我希望您能发现以下内容很有帮助PHP:
echo "<tr onclick=\"window.location='".$links[$i]."'\">......";
将允许用户单击每一行
您也可以使用数组加载页面:
x=0;
var pages=["pagea.html","pageb.html"]
.
.
for (...) {
var tr=document.createElement('tr');
tr.onclick=function() { window.location=page[x++];}
tr.style.cursor='pointer';
.
}
将返回的锚点添加到td
,然后添加到tr
和表
$('ith anchor element in array').wrap('<td />').wrap('<tr />').appendTo('table#table_id');
$('ith anchor element in array').wrap('').wrap('').appendTo('table#table_id');
您只需按照Nicole的建议使用发电机和发电机内部即可:
<tr><td><a href="url">title of the url</a></td></tr>
单击即可进入该页面(基本上是将tr作为标签进行黑客攻击)(只是一个想法,永远不要真正尝试它。加载项
并将显示样式更改为“显示:块”
并添加相同的尺寸,如下所示:
CSS:
#Table a {
display:block;
}
#Table td {
width:100px;
hright:100px
}
<table id="Table">
<tr><td><a onclick="" href="#"> cell </a></td></tr>
<tr><td> cell </td></tr>
</table>
HTML:
#Table a {
display:block;
}
#Table td {
width:100px;
hright:100px
}
<table id="Table">
<tr><td><a onclick="" href="#"> cell </a></td></tr>
<tr><td> cell </td></tr>
</table>
细胞
Html:
<table>
<tr href="http://myspace.com">
<td>MySpace</td>
</tr>
<tr href="http://apple.com">
<td>Apple</td>
</tr>
<tr href="http://google.com">
<td>Google</td>
</tr>
</table>
您可以在这里尝试:
CSS(可选):
或者使用数据href
而不是href
的HTML有效版本:
<table>
<tr data-href="http://myspace.com">
<td>MySpace</td>
</tr>
<tr data-href="http://apple.com">
<td>Apple</td>
</tr>
<tr data-href="http://google.com">
<td>Google</td>
</tr>
</table>
CSS:
播放@ahmet2016并保持其W3C标准
HTML:
jQuery:
$(function(){
$('*[data-href]').click(function(){
window.location = $(this).data('href');
return false;
});
});
我发现将表行转换为链接的最简单方法是将onclick属性与window.location一起使用
<table>
<tr onclick="window.location='/just/a/link.html'">
<td></td>
</tr>
</table>
您可以使用数据href
脚本在任何html元素中添加href。它使html有效,因为它只向元素添加数据href
属性
对于仅限PHP的修复,只需将每一行所需的链接添加到该行中的每一个单元格。安德鲁,这是一个仅限PHP的修复吗?我唯一的问题是href在技术上不是表行的有效属性。如果没有javascript,此解决方案无法工作,盲人也无法访问。使用数据href
可以修复此问题无效属性问题。href
和数据href
有问题:如果我用jquery$('table tr')选择。首先()
然后href
或数据href
属性消失,因此我无法通过.attr('href')
或数据('href')访问它们
另一个问题是您正在中断中间的单击。我对href
和数据href
有问题:如果我使用jquery$('table tr')进行选择。首先()
然后href
或数据href
属性消失,因此我无法通过.attr('href')
或数据('href')访问它们
对于那些从jQuery 1.7开始阅读本文的读者:“从jQuery 1.7开始,.delegate()已被.on()方法取代。”
$(document).ready(function(){
$('table tr').click(function(){
window.location = $(this).data('href');
return false;
});
});
table tr[data-href] {
cursor: pointer;
}
<tr data-href='LINK GOES HERE'>
<td>HappyDays.com</td>
</tr>
*[data-href] {
cursor: pointer;
}
$(function(){
$('*[data-href]').click(function(){
window.location = $(this).data('href');
return false;
});
});
<table>
<tr onclick="window.location='/just/a/link.html'">
<td></td>
</tr>
</table>