我可以选择链接引用的 id 吗?
Can I select the id referenced by a link?
>我刚刚在我维护的网站上为董事会列表创建了一个目录。 目前,我在每个<li>
中都有一个嵌套<a>
标签,该标签引用了每个人的详细信息所在的位置。 目录如下所示:
<li><a href="#1">name goes here</a></li>
以下是页面上每个项目的外观:
<td id="1">
<p>
Name goes here<br>
Details go here<br>
</p>
</td>
这就是我想要完成的目标。 当您单击<a href="#1">name goes here</a>
时,您将被带到 <td id="1">
,并且<td id="1">
的背景颜色将变为某种黄色阴影并淡出为透明。
页面周围的移动已经起作用(它只是 href 到 id),我知道如何使用 jquery 对背景颜色进行动画处理。 我无法弄清楚的是 如何选择 <td id="1">
. 我可以简单地做到这一点
$('li a').click(function(){
$('td#1').animate...
});
但是列表中有 20+ 个项目,我不想为每个项目设置单独的事件。 请指教。
谢谢!
只需使用 href 属性作为 ID
$('li a').click(function(){
$( $(this).attr('href') ).animate...
});
它只是一个字符串,与写$('#1')
完全相同(顺便说一句,不要使用数字作为 ID)
首先,将 id 更改为字符而不是数字,但使 href 与 id 相同。然后,您可以通过以下方式实现所需的目标:
var a = document.querySelectorAll('li a');
for (var i = 0;i<a.length;i++) {
a[i].addEventListener('click',function(e) {
e.preventDefault();
var b = this.getAttribute('href');
document.getElementById(b).style.backgroundColor = 'yellow';
$('html,body').animate({
scrollTop: $('#'+b).offset().top},
'slow', function(){
document.getElementById(b).style.backgroundColor = 'white';
});
});}
演示
相关文章:
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何在Javascript中将来自另一个页面的ID引用为变量
- FireFox-在全局作用域中由id名称引用的元素.使用w3c标准
- 如何在给定 id 的情况下引用“标题”
- 用户输入的动态表,单元格id作为网格引用
- 如何在另一个视图中获取元素的引用id-UI5
- 按对象的 ID 删除对选定对象的对象引用
- 如何通过它引用谷歌地图标记's id并激活它's使用javascript单击事件
- 在jQuery中,按ID、类名或标记名引用的效率最高吗
- 引用显式元素 ID
- 使用 javascript 通过 ID 正确引用对象
- 未捕获的引用错误: 未定义导出 ID
- 如何使用 ahref 链接引用另一个页面 ID
- 如何使用 onclick 事件引用按 id 计算选中的复选框
- 在JavaScript中通过ID引用特定的表(<tbody>)
- 将文本存储在由id引用的span中
- 如何通过ID引用java脚本中动态生成的元素
- 如何在Javascript中使用变量通过ID引用DOM元素
- Javascript AMCharts通过ID引用图形不工作
- 如何通过angular2中的id引用模板