如何将位置子字符串添加到页面中的所有链接

时间:2015-06-05 13:27:47

标签: javascript jquery html

我想使用url中的子字符串并在页面中的所有链接旁边使用它,这样我就可以使用javascript将相同的子字符串传递给所有页面。

这是我试过的

<a href="home.html?'+location.search.substring(1)+'">home.html</a>

但它不适合我。我怎么能这样做?

5 个答案:

答案 0 :(得分:3)

你可以这样做:

$('a').attr('href', function() {
    return this.href + '?' + location.search.substring(1);
});

&#13;
&#13;
$(function() {
    $('a').attr('href', function() {
        return this.href + '?' + location.search.substring(1);
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="home.html">HOME</a> | 
<a href="about.html">ABOUT</a> |
<a href="services.html">SERVICES</a>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你可以使用jQuery:

$.each($('a'), function(){
    var attr = $(this).attr('href') + '?' + location.search.substring(1);
    $(this).attr('href', attr);
});

答案 2 :(得分:0)

使用jQuery尝试类似的东西:

$(function() {
    $('a#someId').attr('href', 'home.html?' + location.search.substring(1)); 
});

您应该在链接中添加类或ID以获得良好的选择器。

答案 3 :(得分:0)

在vanillaJs中,这看起来像是:

var links = document.querySelectorAll('a');
[].forEach.call(links , function(link) {
  link.href = link.href + location.search.substring(1);
});

答案 4 :(得分:0)

这可能对您有用:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Add Substring to links</title>
</head>

<body>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>
<p><a href="index.html">Link</a></p>

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
$('a').each(function(index,value){
    var newhref = ( $(this).attr('href') + '?' + window.location.search.substring(1) );

    $(this).attr('href', newhref);
});
</script>
</body>
</html>