[英]changing a tag href depends on window.location.href
我嘗試創建一個jQuery代碼段,該代碼段檢測窗口的url並取決於窗口的href ,更改標記的href。
到目前為止,我的代碼是:
(function($) {
"use strict";
$(document).ready(function() {
$(window).on('load', function() {
var changeLink = document.getElementById("LinkTag");
console.log('it is running');
if ($(window).location.href() == "pageUrl") {
changeLink.href = "website1";
} else {
changeLink.href = "website2";
}
});
});
})(jQuery);
謝謝
這里發生了很多事情:
location.href
不是jQuery方法; 它是常規窗口對象的屬性。 使用window.location.href
代替$(window).location.href()
。 window.location.href
匹配,該文件包含的內容(例如協議,子域,哈希和URL參數)在指向同一頁面時可能會有所不同; window.location.pathname
通常是一個比較安全的選擇(假設您要匹配特定的頁面。) document.ready
和window.onload
。 我在這里刪除了多余的層。 document.getElementById
換成了它的jQuery等效項。 $(document).ready(function() { var pageUrl = "/js"; // This is the path when running in a stackoverflow snippet var changeLink = $("#LinkTag"); if (window.location.pathname == pageUrl) { changeLink.attr("href","//example.com"); } else { changeLink.attr("href","//somethingelse.com"); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a id="LinkTag">Link</a>
僅將window.location
換成$(window).location
.location
if (window.location.href == "pageUrl")
changeLink.href = "website1";
else
changeLink.href = "website2";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.