检查上一页URL是否包含字符串,然后在当前页面上将元素添加到元素

时间:2017-10-26 16:57:34

标签: javascript jquery

我需要检查用户为字符串访问过的上一页网址,然后应用"有效"等到" a"使用jQuery在当前页面上标记。

e.g。如果用户的上一页网址包含" new-york"看起来像   - " www.domain.com/new-york /",然后在当前页面上我要检查" a"标签包含" new-york"在链接中,然后向此标记添加一个类。我有大约20个不同的城市需要检查和添加课程。

这是我到目前为止的代码......

$("#cities a").each(function () {
    if ($(this).attr("href") == document.referrer) {
        $(this).addClass("active");
    }
});

我知道document.referrer是确切的URL,我如何从document.referrer中获取/检查字符串?

由于

2 个答案:

答案 0 :(得分:1)

参考here

//assuming referer url is http://example.com/prev
function getLocation(href) {
   var l = document.createElement("a");
   l.href = href;
   return l;
}

//get the pathname from the url----
var l = getLocation(document.referrer);
var pathname = l.pathname;//returns "/prev"

$('a').each(function () {
   var current_url = $(this).attr('href');
   if(current_url.indexOf(pathname) !== -1){
      $(this).addClass('visited');
   }
});

答案 1 :(得分:0)

可以通过多种方式实现。
1. var w = 1366, h = 768 let mymap = new L.Map('map', { crs : L.CRS.Simple, attributionControl: false, maxZoom: 4, minZoom: 2, zoom:2 }); var southWest = mymap.unproject(L.point(0, h), mymap.getMaxZoom()); var northEast = mymap.unproject(L.point(w, 0), mymap.getMaxZoom()); var bounds = new L.LatLngBounds(southWest, northEast); L.imageOverlay(url, bounds).addTo(mymap); mymap.fitBounds(bounds); var m = { x: 692, y: 287 } var marker = L.marker(mymap.unproject(L.point(m.x, m.y), mymap.getMaxZoom())).addTo(mymap);
2. document.referrer.indexOf("new-york") > -1

以上内容适合您的情况。但请记住document.referrer不会有查询字符串参数。如果以后您有任何理由,则可以在[{3}},cookielocal storage中保存热门网页网址。