Как прикрепить параметр к ссылке без идентификатора или класса, используя jQuery? - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть три ссылки, которые, к сожалению, не имеют класса или идентификатора.Их ссылка статична.Я хочу прикрепить один и тот же параметр ко всем трем из них в конце URL-адреса, поэтому моя идея состоит в том, чтобы идентифицировать их на основе их значения href, но я не знаю, как это сделать.

Ссылки выглядятнапример:

<ul class="links primary-tabs">
   <li><a href="/user">Login</a></li>
   <li><a href="/user/register">Register</a></li>
   <li><a href="/user/password">Forgot Password</a></li>
</ul>

Пока у меня есть следующий код, где $ destination - переменная PHP:

$(document).ready(function(){
        $(".page-user .primary-tabs a").attr("href", "/user/register?destination='.$destination.'");
});

Это, конечно, изменит все три ссылки на / user/register?destination=....

Может ли кто-нибудь помочь мне с тем, как прикрепить $ destination ко всем трем ссылкам, сохраняя их первоначальный href?

Спасибо

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

Вы можете использовать .attr() с функцией, например так:

$(document).ready(function(){
  $(".page-user .primary-tabs a").attr("href", functon(i, href) {
     return href + "?destination='.$destination.'";
  });
});

Это просто добавляет эту строку запроса к каждому, href является предыдущим значением внутри цикла.

0 голосов
/ 01 ноября 2010

Используйте каждое и это:

<html><head></head><body>
<ul class="links primary-tabs">
   <li><a href="/user">Login</a></li>
   <li><a href="/user/register">Register</a></li>
   <li><a href="/user/password">Forgot Password</a></li>
</ul>
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script>
<script>
$(document).ready(function(){
    $("ul.primary-tabs a").each(function(){
        $(this).attr("href",$(this).attr('href') + '?destination=foo');
    });
});
</script>
</body></html>
...