2012-03-06 2 views
-1

Я хочу, чтобы заменить href значение для всехJQuery заменить HREF значение для всех с таким же ID

<a id ="replaceValue" href=""> test1 </a> 

<a id ="replaceValue" href="">test2 </a> 

<a> теге Id одинакова для обоих. Я хочу изменить значение обоих.

$("#replaceValue").attr("href", "test.html"); 

Эта функция работает хорошо, но это изменить только для первого <a> тега. Пожалуйста, помогите мне изменить оба с одинаковой функцией.

+5

идентификаторы ** ** обязательно быть уникальным. Вместо этого используйте класс. –

+0

не имеют этих проблем, когда html действителен с уникальным идентификатором ID.change ID классу – charlietfl

+0

Пожалуйста, почитайте этот вопрос. Это честный вопрос с правильной идеей, но неправильное намерение/реализация и должно служить предупреждающим маяком, если это когда-либо будет найдено в будущем. Оплатите его в основном. –

ответ

4

Вы должны использовать классы вместо ID, поскольку идентификаторы должны быть уникальными. Это должно делать то, что вам нужно с помощью классов:

$('a.replaceValue').attr('href','NEW URL HERE'); 
-2
$('#replaceValue').each(function() { 
$(this).attr('href','url'); 
}) 
+4

Вызов 'each' в селекторе ID не имеет смысла, поскольку идентификатор - это отдельный элемент по определению. Внутри javascript возвращает только первый элемент с этим идентификатором, даже если в DOM есть множественные числа. –

2

идентификаторы являются уникальными идентификаторами. Используйте имя или альт или класс для кумулятивных операций

1
< a class ="replaceValue" href="" > test1 < /a> 

< a class ="replaceValue" href="" >test2 < /a> 

Изменить идентификаторы для класса согласно спецификации идентификаторы должны быть уникальными в любой странице

$(".replaceValue").attr("href", "test.html"); 
0

Если вы не имеете никакого контроля над разметкой, вы можете выберите все из них, обработав id в качестве общего атрибута и используя селектор атрибутов jQuery.

НО, если у вас есть контроль над HTML, не делают этого, изменить идентификаторы классов.

$('a[id=replaceValue]').attr('href', 'http://myurl.com'); 

Пример: http://jsfiddle.net/ySzCL/1/

+0

хорошо работает .. Tahnkx. – Drozzy

+0

Но вам НУЖНО сделать это ??? –

+0

Почему вы должны были разместить этот D: Теперь @ Drozzy делает все неправильно! –

Смежные вопросы