点击时改变链接的href属性
Change href attribute of link on click
我只是尝试改变href
的值$("div").click(function() {
$("a#link1").attr("href").val("www.bing.de");
});
div {
border: 1px solid black;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link1" href="www.google.de">LINK</a>
<div>Click here</div>
但是这会抛出错误Uncaught TypeError: $(...).attr(...).val is not a function
,我不知道为什么?据我所知,val
是一个函数
试试这个
你不能用val()
方法改变属性。val()
仅用于输入值。
您可以使用attr("aatribute_name",value);
或prop("attribute_name","value");
$("div").click(function() {
$("a#link1").attr("href","www.bing.de");
});
div {
border: 1px solid black;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link1" href="www.google.de">LINK</a>
<div>Click here</div>
您可以使用attr
或prop
$("a#link1").prop("href","www.bing.de")
是要修改的属性值,而不是val
。val基本上是用来获取值,有时设置值,而不是属性。
试试下面的代码片段。
问题在这里:$("a#link1").attr("href").val("www.bing.de");
$("div").click(function(){
$("a#link1").attr("href","www.bing.de");
});
div {
border: 1px solid black;
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link1" href="www.google.de">LINK</a>
<div>Click here</div>
使用 setAttribute()
的Javascript实现:
document.querySelector("a#link1").setAttribute("href", "www.bing.de");
//or
document.querySelector("a#link1").href = "www.bing.de";
Assign with href也有效
$("div").click(function() {
$("a#link1")[0].href = "www.bing.de";
});
.val()用于输入、选择和文本区域。它应该这样命名:
$("div").click(function() {
$("a#link1").attr('href','www.bing.de');
});
为什么它不工作,因为你试图分配值给anchor tag
。val()
不给anchor tag
赋值。为此,您必须使用如下方法。
不是这个:-
$("div").click(function() {
$("a#link1").attr("href").val("www.bing.de");
});
这个-
$("div").click(function() {
$("a#link1").attr("href","www.bing.de");
});
相关文章:
- 锚点元素的href属性自动更改
- href属性内的javascript函数
- 点击获取jQuery上的href属性
- href属性在页面加载后拒绝重新设置
- 使用 Div 标签的 location.href 属性时,Eval 不起作用
- 将定位点的 href 属性与“#”进行比较
- SEO机器人是否总是遵循A标签的href属性中的URL,即使点击/点击被Javascript拦截
- 如何删除锚标记的 href 属性内的 #
- 如何防止jQuery在单击时更改href属性
- 通过jQuery Mobile中的jQuery更改href属性
- 查找jquery多选符的href属性
- 如何使用javascript更改href属性
- Javascript href 属性用于 css 未更新
- 恢复javascript函数中的href属性
- 单击即可将css href属性更改为多个html页面
- 在锚标记的 href 属性中执行 JavaScript
- 在IE 7中,如果链接是使用jQuery创建的,如何获取链接的href属性的文字值
- 如何在 DOM 加载后使用 JavaScript 或 JQuery 从 href 属性中删除字符
- 省略元素中的 href 属性
- getAttribute('href') 始终返回“#”,而不考虑移动浏览器上的实际 href 属性