[英]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.