2017-08-05 96 views
0

我試圖在頁面上的所有鏈接上追加一個查詢字符串,我已經添加了該代碼來完成它,但正如您所看到的,它不起作用 http://yamputours.staging.wpengine.com/?why=broken

var querystring = location.search; 
console.log(querystring); 

$('a').each(function() { 
    console.log('working'); 
    var href = $(this).attr('href'); 

    if (href) { 
     href += (href.match(/\?/) ? '&' : '?') + querystring; 
     $(this).attr('href', href); 
    } 
}); 

我沒有從第二個console.log()控制檯中得到任何東西。

我知道它裏面的代碼仍然需要修改才能在href='#'之類的東西上不被破解,但即使我刪除了除console.log('working);之外的函數中的所有代碼,也不會從它得到任何東西。這讓我瘋狂,誰能看到我失蹤的東西?

僅供參考在這個網站上還有很多其他的jQuery,甚至在同一個文件中,所有的工作都很好,只是沒有這個功能。

+0

您是否嘗試過使用'jQuery',而不是'$'? – 2017-08-05 14:49:41

+0

全東西在'(function($){....}(jQuery))包裹的.js文件中;' – mrben522

+0

將它移出並嘗試使用'jQuery('a')'以防萬一。 – mrben522

回答

2

嘗試代碼$(文件)。就緒(函數(){加入功能

$(document).ready(function() { 
 
    $('a').each(function() { 
 
    console.log($(this).text() + ' working'); 
 
    }); 
 

 
    console.log('---By class selector---') 
 
    $('.link').each(function() { 
 
    console.log($(this).text() + ' working with class "link"'); 
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<a href="#test1">test 1</a> 
 
<a href="#test2">test 2</a> 
 
<a href="#test3">test 3</a> 
 
<a href="#test4">test 4</a> // second option with class 
 
<a href="#test5" class="link">test 5</a> 
 
<a href="#test6" class="link">test 6</a> 
 
<a href="#test7" class="link">test 7</a> 
 
<a href="#test8" class="link">test 8</a>

+0

謝謝SwapNeil!無法通過樹木看到森林! – mrben522