使用 jquery 在每个菜单项的末尾添加自定义值

add a custom value to end of each menu item with jquery

我使用 jquery 获取 link 页面并将其添加到猫菜单项。 但它有一个问题 我想做这个 例如我们有这个菜单

<ul class="nav">
    <li><a href="link1">item 1</a></li>
    <li><a href="link2">item 2</a></li>
    <li><a href="link3">item 3</a></li>
</ul>

页面地址为example.com/index.php?se1 现在我使用 jquery 来获取值 se1

var pageurl = $(location).attr('href');
var regionurl = pageurl.substr(pageurl.indexOf("?") + 1);

并且 returns se1 正确 但现在我想将 se1 添加到我列表中 links 的所有 href 值我尝试这种方式但它无法正常工作

$(".nav li a").each(function() {
    var catlink = $(".nav li a").attr('href');
    var fullregionurl = catlink + "?" + regionurl;
    $(".nav li a").attr("href",fullregionurl);
});

我想像这样更改 link 的值

<ul class="nav">
    <li><a href="link1?se1">item 1</a></li>
    <li><a href="link2?se1">item 2</a></li>
    <li><a href="link3?se1">item 3</a></li>
</ul>

帮我解决这个问题 发送

您应该使用 $(this).attr('href') 而不是 $(".nav li a").attr('href')

或者您可以使用 attr() 方法,如下所示。

var pageurl = $(location).attr('href');
var regionurl = pageurl.substr(pageurl.indexOf("?") + 1);

$(".nav li a").attr('href', function () {
    return $(this).attr('href') + '?' + regionurl;
});