jquery - 如何使自定义链接属性适用于一个元素?
问题描述
我目前正在用 HTML 制作自己的元素和属性,并且我已将href
标签切换为loc
属性并将其附加到三个不同的<navlink>
标签。我已经设置了它,所以当你点击它时,<navlink>
它会转到loc
目的地,但是,loc
第一个<navlink>
决定了所有链接在页面上的位置,这不是我想要的。我想知道是否可以navlink
使用该loc
属性为每个链接设置不同的链接?
这是我的 HTML:
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!--Navbar-->
<navbar>
<navlinks>
<navlink loc="https://www.apple.com">Home</navlink>
<navlink loc="https://www.apple.com">About</navlink>
<navlink loc="https://www.microsoft.com">Contact</navlink>
</navlinks>
</navbar>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="style.js"></script>
</body>
</html>
还有我的 jQuery:
var navlink_loc = $("navlink").attr("loc");
$('navlink').click(function(){
$(location).attr('href', navlink_loc);
});
有没有办法让每个<navlink>
人都有loc
属性但转到其指定的链接?
解决方案
$(this)
使用jQuery设置链接,如下所示。$(this)
使选择器成为您单击的确切文本。
var navlink_loc;
$('navlink').click(function() {
navlink_loc = $(this).attr("loc");
$(location).attr('href', navlink_loc);
});
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!--Navbar-->
<navbar>
<navlinks>
<navlink loc="https://www.apple.com">Home</navlink>
<navlink loc="https://www.apple.com">About</navlink>
<navlink loc="https://www.microsoft.com">Contact</navlink>
</navlinks>
</navbar>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="style.js"></script>
</body>
</html>
推荐阅读
- java - 如何链接 reactor 订阅者
- linux - 为什么 Centos 7 的 Docker 文件不支持 yum 命令
- java - 声纳,在 setter POJO 上使用 private 以避免重复
- rsyslog - 为什么我不能使用 rsyslog `stop` 丢弃消息?
- api - Ionic4 使用 vue,谷歌地图在浏览器中工作,但不是设备
- angular - 错误类型错误:对象不支持属性或方法“包含”。角 ngx 掩码
- c++ - 我们如何让 vscode 和 cmake 在 Windows 10 上的 VScode 上检测 GTest?
- html - 通过html表单发送参数
- linux - 如何在Linux中找到环境变量的地址
- flutter - Flutter 中的 notifyListeners 无法正常工作