我想使用url中的子字符串并在页面中的所有链接旁边使用它,这样我就可以使用javascript将相同的子字符串传递给所有页面。
这是我试过的
<a href="home.html?'+location.search.substring(1)+'">home.html</a>
但它不适合我。我怎么能这样做?
答案 0 :(得分:3)
你可以这样做:
$('a').attr('href', function() {
return this.href + '?' + location.search.substring(1);
});
$(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;
答案 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>