单击更改链接的href属性

时间:2016-07-01 13:29:55

标签: javascript jquery

我只是尝试更改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是一个功能。

7 个答案:

答案 0 :(得分:2)

您可以使用attrprop

$("a#link1").prop("href","www.bing.de")

您要更改的属性值不是valval基本上用于获取值和一些时间设置值,但不是属性。

答案 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");

&#13;
&#13;
$("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;
&#13;
&#13;

答案 3 :(得分:1)

使用 setAttribute()

实施Javascript
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 tagval()没有为anchor tag分配价值。为此你必须使用如下方法。

不是这样的: -

$("div").click(function() {
  $("a#link1").attr("href").val("www.bing.de");
});

这一个 -

  $("div").click(function() {
      $("a#link1").attr("href","www.bing.de");
    });