我只是尝试更改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
是一个功能。
答案 0 :(得分:2)
答案 1 :(得分:2)
试试这个。
您无法使用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>
答案 2 :(得分:1)
请尝试以下代码段。
问题在于:$("a#link1").attr("href").val("www.bing.de");
$("div").click(function(){
$("a#link1").attr("href","www.bing.de");
});
&#13;
div {
border: 1px solid black;
cursor:pointer;
}
&#13;
<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>
&#13;
答案 3 :(得分:1)
使用 setAttribute()
:
document.querySelector("a#link1").setAttribute("href", "www.bing.de");
//or
document.querySelector("a#link1").href = "www.bing.de";
希望这有帮助。
答案 4 :(得分:1)
使用href进行分配也正常工作
$("div").click(function() {
$("a#link1")[0].href = "www.bing.de";
});
答案 5 :(得分:0)
.val()用于输入,选择和textareas。它应该像这样调用:
$("div").click(function() {
$("a#link1").attr('href','www.bing.de');
});
答案 6 :(得分:0)
为什么它无效,因为您尝试将值分配给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");
});