在运行时设置href属性

时间:2010-12-03 12:18:44

标签: javascript jquery html

使用jQuery在运行时设置href标记的<a>属性的最佳方法是什么?

另外,如何使用jQuery获取href标记的<a>属性的值?

5 个答案:

答案 0 :(得分:374)

要获取或设置HTML元素的属性,可以在jQuery中使用element.attr()函数。

要获取 href 属性,请使用以下代码:

var a_href = $('selector').attr('href');

要设置 href 属性,请使用以下代码:

$('selector').attr('href','http://example.com');

在这两种情况下,请使用适当的选择器。如果您已为anchor元素设置了类,请使用'.class-name',如果已为anchor元素设置了id,请使用'#element-id'

答案 1 :(得分:18)

在jQuery 1.6+中使用起来更好:

$(selector).prop('href',"http://www...") 设置值,

$(selector).prop('href') 获取

简而言之,.prop获取并设置 DOM 对象的值,.attr获取并设置 HTML 中的值。这使得.prop在某些情况下更快一些,可能更可靠。

答案 2 :(得分:14)

使用

设置href属性
$(selector).attr('href', 'url_goes_here');

并使用

阅读
$(selector).attr('href');

其中“selector”是<a>元素的任何有效jQuery选择器(“。myClass”或“#myId”,用于命名最简单的元素)。

希望这有帮助!

答案 3 :(得分:2)

三种解决方案的小型性能测试比较:

  1. $(".link").prop('href',"https://example.com")
  2. $(".link").attr('href',"https://example.com")
  3. document.querySelector(".link").href="https://example.com";

enter image description here

您可以在这里https://jsperf.com/a-href-js-change自己进行测试


我们可以通过以下方式读取href值

  1. let href = $(selector).prop('href');
  2. let href = $(selector).attr('href');
  3. let href = document.querySelector(".link").href;

enter image description here

您可以在这里https://jsperf.com/a-href-js-read自己进行测试

答案 4 :(得分:1)

<style>
a:hover {
    cursor:pointer;
}
</style>

<script type="text/javascript" src="lib/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $(".link").click(function(){
        var href = $(this).attr("href").split("#");
        $(".results").text(href[1]);
    })
})
</script>



<a class="link" href="#one">one</a><br />
<a class="link" href="#two">two</a><br />
<a class="link" href="#three">three</a><br />
<a class="link" href="#four">four</a><br />
<a class="link" href="#five">five</a>


<br /><br />
<div class="results"></div>