Цикл JQuery, который извлекает определенный атрибут элемента и добавляет его в href - PullRequest
1 голос
/ 04 октября 2011

Так что я целый день работал, искал и шлепал головой по столу.Я очень разные новички во всем этом, поэтому я извиняюсь, если мой код невероятно младший.То, что я пытаюсь сделать, - это создать механизм, который запоминает URL привязки текущей страницы, но затем, когда пользователь переходит к изменению нации, он изменяет ссылки на странице наций, чтобы вернуть пользователя туда, где он был, но внутрикаталог новой нации.

До сих пор я получил селектор, извлекающий информацию с предыдущей страницы и сохраняющий ее как Cooky.У меня даже есть изменение URL-адресов так, как я хотел.Проблема в том, что я дал каждому из тегов код страны для имени.Когда код выполняется, я не могу заставить его вытащить каждое имя и применить его к href на заказ, когда он перемещается по странице.Я смог получить только первый, который выберет, или последний, кто сможет применить его ко всем.Любое понимание того, что я делаю неправильно, было бы замечательно.

$('#setNation').click(function(event) {
   var fromPage = window.location.pathname
   $.cookie("pageFrom", fromPage);  
});

$('.nationSelect').each(function() {
   $('.nationSelect').attr("herf", "http://domain.com/"+$(this).attr("name")+$.cookie("pageFrom"));
});

И HTMl выглядит так

<div id="nationList">
  <a name="de" class="nationSelect">
    <div id="nationListIcon">
      <div id="nationListImg" style="background-position: -229px -76px;"></div>
      <p lang="de" xml:lang="de">Deutschland</p>
    </div>
  </a>
  <a name="es" class="nationSelect">
    <div id="nationListIcon">
      <div id="nationListImg" style="background-position: -305px -76px;"></div>
      <p lang="es" xml:lang="es">España</p>
    </div>
  </a>
  <a name="fr" class="nationSelect">
    <div id="nationListIcon">
      <div id="nationListImg" style="background-position: -380px -76px;"></div>
      <p lang="fr" xml:lang="fr">France</p>
    </div>
  </a>
</div>

Спасибо за вашу помощь

1 Ответ

1 голос
/ 04 октября 2011

У вас есть опечатка.Это не HERF.Герф звучит как что-то, что вы берете у грязной девушки.

//Your current code changes the href for all links of class nationSelect. This means whatever the last link changed is will be applied to all links on the page
$('.nationSelect').attr("herf", 

//What you want is for only the current one to get the new value. So use $(this)
$('.nationSelect').each(function() {
    $(this).attr('href', 'http://domain.com/' + $(this).attr('name') + '/morestuff');
});
...