我尝试创建一个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);
谢谢
答案 0 :(得分:1)
这里发生的许多事情
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>
答案 1 :(得分:-1)
仅$(window).location
就window.location
退货
if (window.location.href == "pageUrl")
changeLink.href = "website1";
else
changeLink.href = "website2";