Ответ 1
$("#myLink_33").attr("href", "javascript:toggleMe(0);");
Возможный дубликат:
Как изменить href для гиперссылки с помощью jQuery
У меня есть эта ссылка:
<a id="myLink_33" href="javascript:toggleMe(1);">Toggle</a>
Как изменить атрибут href
этой ссылки с помощью Javascript/jquery, чтобы ссылка стала следующей:
<a id="myLink_33" href="javascript:toggleMe(0);">Toggle</a>
$("#myLink_33").attr("href", "javascript:toggleMe(0);");
Это, безусловно, будет работать, однако я бы хотел предложить альтернативу.
HTML
<a class="toggle">Toggle</a>
JQuery/JavaScript
$(document).ready(function(){
$('a.toggle').click(function (eventObject){
var target = $(eventObject.target);
// will add or remove the class automatically
target.toggleClass('toggle_on');
if(target.hasClass('toggle_on')){
/* toggle on code here */
alert('Toggle On');
}
else{
/* toggle off code here */
alert('Toggle Off');
}
});
});
Это избавит вас от необходимости использовать атрибут href для переключателей и позволяет вам управлять вещами посредством стилизации и еще много чего. Хотя мой опыт работы с jQuery не настолько обширен, что нечто подобное выглядит несколько более условным.
По моему опыту изменение атрибутов с помощью селектора id не будет обновлять фактический элемент.
Однако использование класса и других селекторов будет работать. Так
$('#myLink_33').attr('href','http://www.google.com')
изменит значение атрибута href только при запросе, но когда ссылка действительно выбрана, по умолчанию будет установлено значение href, которое оно имело при загрузке страницы.
Однако если предположить, что якорь имел class="myLink_33"
, изменение attr,
$('.myLink_33').attr('href','http://www.google.com')
будет работать как ожидалось.