JQuery: как мне перебирать все элементы 'a'?

Я хочу иметь возможность изменять все свойства привязки на странице. Но я не знаю, как пройти через все из них.

Ответ 1

использовать каждый:

http://api.jquery.com/each/

$("a").each(function(){
    //do something with the element here.
});

Ответ 2

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

$("a").attr("href", function(i, oldHref) {
  return oldHref + "#hash";
});

Это дешевле .each(), так как вы не создаете дополнительный объект jQuery внутри каждой итерации, вы получаете доступ к свойствам на элемент DOM, не делая этого.

Ответ 3

jQuery обеспечивает эту способность по своей сути.

$('a').do_something();

Будет ли do_something() для каждого a на странице. Итак:

$('a').addClass('fresh'); // adds "fresh" class to every link.

Если то, что вы хотите сделать, требует индивидуального рассмотрения свойств каждого a, затем используйте .each():

$('a').each( function(){
  var hasfoo = $(this).hasClass('foo'); // does it have foo class?
  var newclass = hasfoo ? 'bar' : 'baz'; 
  $(this).addClass(newclass); // conditionally add another class
});

Ответ 4

$('a').each(function(i){
    $(this).attr('href','xyz');
});

Ответ 5

Вы можете использовать jQuery .each() для этой цели:

$('a').each(function() {   
 // The $(this) jQuery object wraps an instance  
 // of an anchor element.  
});