[英]How to get href value using jQuery?
我正在嘗試使用 jQuery 獲取 href 值:
<html>
<head>
<title>Jquery Test</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a").click(function(event) {
alert("As you can see, the link no longer took you to jquery.com");
var href = $('a').attr('href');
alert(href);
event.preventDefault();
});
});
</script>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
</body>
</html>
但它不起作用。 為什么?
你需要
var href = $(this).attr('href');
在 jQuery 單擊處理程序中, this
對象指的是單擊的元素,而在您的情況下,您總是獲得頁面上第一個<a>
的 href 。 順便說一句,這就是為什么您的示例有效但您的真實代碼無效的原因
您可以通過以下代碼獲取當前的 href 值:
$(this).attr("href");
通過ID獲取href值
$("#mylink").attr("href");
值得一提的是
$('a').attr('href'); // gets the actual value
$('a').prop('href'); // gets the full URL always
它有效...在 IE8 中測試(如果您正在測試計算機上的文件,請不要忘記允許 javascript 運行)和 chrome。
如果頁面有一個<a>
可以,但是,很多<a>
必須使用var href = $(this).attr('href');
**Replacing href attribut value to other**
<div class="cpt">
<a href="/ref/ref/testone.html">testoneLink</a>
</div>
<div class="test" >
<a href="/ref/ref/testtwo.html">testtwoLInk</a>
</div>
<!--Remove first default Link from href attribut -->
<script>
Remove first default Link from href attribut
$(".cpt a").removeAttr("href");
Add Link to same href attribut
var testurl= $(".test").find("a").attr("href");
$(".test a").attr('href', testurl);
</script>
如果你的html鏈接是這樣的:
<a class ="linkClass" href="https://stackoverflow.com/"> Stack Overflow</a>
然后你可以訪問jquery中的href,如下所示(不需要在href中使用“a”)
$(".linkClass").on("click",accesshref);
function accesshref()
{
var url = $(".linkClass").attr("href");
//OR
var url = $(this).attr("href");
}
<a class ="linkClass" href="https://stackoverflow.com/"> Stack Overflow</a>
$(".linkClass").click(function() {
alert($(this).attr("href"));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.