Html 使表行(<;tr>;)在不使用JavaScript的情况下链接

Html 使表行(<;tr>;)在不使用JavaScript的情况下链接,html,Html,我目前正在向我的站点添加非js功能,因为有些设备仍然无法处理js,或者有些人关闭它以更快地加载页面(比如慢速连接,慢速设备,比如旧电脑) 所以,现在我遇到了一个问题:我有一个页面,其中的配置文件列在中,我希望每个都链接到某个配置文件。将链接放在中,比如名称地址不是一个好的解决方案,因为我会有很多代码,只有文本可以点击 也 文本 不起作用 有没有不使用Javascript的解决方案来实现这一点 提前谢谢 Naymecliff听起来像是需要创建一个html锚 <a href="#BLA"&g

我目前正在向我的站点添加非js功能,因为有些设备仍然无法处理js,或者有些人关闭它以更快地加载页面(比如慢速连接,慢速设备,比如旧电脑)

所以,现在我遇到了一个问题:我有一个页面,其中的配置文件列在
中,我希望每个
都链接到某个配置文件。将链接放在
中,比如
名称地址
不是一个好的解决方案,因为我会有很多代码,只有文本可以点击

文本
不起作用

有没有不使用Javascript的解决方案来实现这一点

提前谢谢
Naymecliff听起来像是需要创建一个html锚

<a href="#BLA">BBBB</a>

<a name="BLA"></a>


这里有内容。

听起来你需要创建一个html锚

<a href="#BLA">BBBB</a>

<a name="BLA"></a>


内容在这里。

恐怕不可能。您可以将
td
元素的内容设置为链接,通过HTML5规则(以及浏览器实践),您可以将整个表设置为链接。但中间层,即表行元素
tr
,不能转换为HTML中的链接

如果您将每个
td
的内容设置为一个链接,使行中的单元格指向同一个目的地,那么从某种意义上讲,事情是可行的,但这不是很好的可用性。用户不知道发生了什么,因为外观中没有任何东西表明一行的单元格实际上是一个链接。此外,由于它们是独立的链接,所以制表变得很尴尬


根据表的内容和性质,也许您可以选择一列作为某种意义上的“主要”列(可能包含标题或标题等数据,可能被视为行标题),并使用`。。。仅适用于该列中的单元格。

恐怕不可能。您可以将
td
元素的内容设置为链接,通过HTML5规则(以及浏览器实践),您可以将整个表设置为链接。但中间层,即表行元素
tr
,不能转换为HTML中的链接

如果您将每个
td
的内容设置为一个链接,使行中的单元格指向同一个目的地,那么从某种意义上讲,事情是可行的,但这不是很好的可用性。用户不知道发生了什么,因为外观中没有任何东西表明一行的单元格实际上是一个链接。此外,由于它们是独立的链接,所以制表变得很尴尬


根据表的内容和性质,也许您可以选择一列作为某种意义上的“主要”列(可能包含标题或标题等数据,可能被视为行标题),并使用`。。。仅适用于该列中的单元格。

实际上可以在不使用javascript的情况下执行此操作,并且不必重复几十次/数百次或数千次不必要的链接。这在一定程度上取决于您支持的浏览器,特别是它们支持的CSS,但如果像大多数现代浏览器一样,它们可以处理position:absolute和td:first-child,那么下面是我针对类似问题提出的建议:

将链接放在第一列:

<table class="search_results">
    <tr>
        <td><a href="#">Some text</a></td>
        <td>more text</td>
        <td>more text</td>
    </tr>
</table>
将宽度更改为您想要的任何宽度,原则上,您已经完成并掸掉灰尘。所以这一切都相对容易,但是,如果你像我一样,有一个流畅的/反应灵敏的布局,在链接上有一些标准的样式,在表格上有一些填充,你将需要这些规则(必要时从上面复制并添加额外的)

解释: 第一条规则仅删除我的第一个td上的所有填充。默认情况下,我的td上的填充为.5em。 第二条规则在链接上添加相同的填充,否则将导致单元格内容未对齐。它还修正了我在a上的一些标准样式,以确保所有列的外观相同。你也可以用另一种方法(将链接样式添加到你的td中)。 使用最后两条规则,我去掉了链接上的默认悬停效果,然后将其放在具有正确类的任何表的tr上


这在我关心的浏览器中有效,但你当然应该在你关心的浏览器中进行测试:)希望我能用这篇文章帮你节省一些时间

实际上可以在不使用javascript的情况下完成这项工作,而不必重复您的链接几十次/数百次或数千次。这在一定程度上取决于您支持的浏览器,特别是它们支持的CSS,但如果像大多数现代浏览器一样,它们可以处理position:absolute和td:first-child,那么下面是我针对类似问题提出的建议:

将链接放在第一列:

<table class="search_results">
    <tr>
        <td><a href="#">Some text</a></td>
        <td>more text</td>
        <td>more text</td>
    </tr>
</table>
将宽度更改为您想要的任何宽度,原则上,您已经完成并掸掉灰尘。所以这一切都相对容易,但是,如果你像我一样,有一个流畅的/反应灵敏的布局,在链接上有一些标准的样式,在表格上有一些填充,你将需要这些规则(必要时从上面复制并添加额外的)

解释: 第一条规则仅删除我的第一个td上的所有填充。默认情况下,我的td上的填充为.5em。 第二条规则在链接上添加相同的填充,否则将导致单元格内容未对齐。它还修正了我在a上的一些标准样式,以确保所有列的外观相同。你也可以用另一种方法(将链接样式添加到你的td中)。 使用最后两条规则,我去掉了链接上的默认悬停效果,然后将其放在具有正确类的任何表的tr上


这在我关心的浏览器中有效,但你当然应该在你关心的浏览器中进行测试:)希望我能用这篇文章帮你节省一些时间

唯一有效的(非js)链接是
和表单提交。由于嵌套无法创建有效的HTML,您必须为每个单元格分别指定一个
。您的目标用户不支持/使用js时是否存在实际问题?我是
table.search_results td:first-child {padding:0;}
table.search_results a {position:absolute;display:block;width:98%;max-width:1272px;font-weight:normal;color:#000;padding:.5em;}
table.search_results a:hover {background:none;}
table.search_results tr:hover {border-color:#25505b;background:#b5d6dd;}