2012-05-11 2 views
0
page = 1; 

$('.links').click(function() { 
    $(this).removeAttr('href'); 
    page = $(this).html(); 
}); 

<a href="#" class="links"> 1 </a> 
<a href="#" class="links"> 2 </a> 
<a href="#" class="links"> 3 </a> 

Когда я нажимаю номер страницы, я хочу удалить атрибут href. Проблема в том, что если я нажимаю на страницы последовательно, номера предыдущей страницы не были восстановлены атрибутом href. Как я могу это сделать?JQuery pagination - нажатие на номера страниц и удаление href attr

Jsfiddle: http://jsfiddle.net/JGpF9/

ответ

1

Не решение лучше, но все еще хорошо один. Это добавляет href '#' обратно к ссылкам перед удалением текущего. Если href были разными, вам пришлось бы решить это по-другому.

http://jsfiddle.net/JGpF9/1/

$('.links').click(function() { 
    $('.links').attr('href', '#'); 
    $(this).removeAttr('href'); 
    page = $(this).html(); 
});​ 

Примечание: Я хотел бы также добавить пространства за пределами якорных тегов

+0

Ах, хорошо, очень просто. Я пытаюсь думать о том, как влиять только на один href, который я повторно добавляю атрибут link, вместо того чтобы влиять на все из них в моем классе. Производительность может немного отставать, если в классе есть много ссылок. Но это хорошее решение. Благодарю. – Norse

0

Вот решение:

$('.links').click(function() { 
    $('.links').slice(page - 1, page).attr('href', '#'); 
    page = $(this).html(); 
    $('.links').slice(page - 1, page).removeAttr('href'); 
}); 
Смежные вопросы