У меня есть текст ссылки, который действует как кнопка включения/выключения, и я пытаюсь использовать его без перезагрузки страницы. Когда он выключен, ссылка имеет определенный класс, url и текстовое значение, отличное от включенного состояния. (т. е. включен он отображается зеленым/выключен, он кажется красным)Ошибка JQuery - Включение/выключение ссылки
Немного ниже у вас есть код jquery, который я использую на данный момент.
$('.off').click(function() {
var element = $(this);
var link = $(this).attr('href');
var newlink = link.replace('off','on');
$.get(link, function(data) {
$('#front').html(data);
$('#front').center().show();
$('#background').show();
if(data == "Button switched.") { element.attr('href', newlink); element.text('on'); element.attr('class', 'on'); }
});
return false;
});
$('.on').click(function() {
var element = $(this);
var link = $(this).attr('href');
var newlink = link.replace('on','off');
$.get(link, function(data) {
$('#front').html(data);
$('#front').center().show();
$('#background').show();
if(data == "Button switched off.") { element.attr('href', newlink); element.text('off'); element.attr('class', 'off'); }
});
return false;
});
и HTML элемент Я говорю о том, как это выглядит:
<a href="engine.php?id=15&switch=on" class="on">on</a>
Таким образом, если элемент, который выглядит точно так же, как и выше в настоящее время нажатия, кнопка переключаясь отключена и все атрибуты ссылок изменяются, но когда я нажимаю второй раз (по ссылке с новыми атрибутами), он делает запрос ajax, и он дает мне результат в #front
, но он не изменит атрибуты ссылки снова, как и должно быть.
В чем проблема?
Возможно, вы захотите попробовать 'removeClass()' http://api.jquery.com/removeClass/ и 'addClass()' http://api.jquery.com/addClass/ вместо изменения ' attr'. – ckpepper02
Просто наблюдение, вы можете в значительной степени перевернуть эти два в одну функцию, а затем вызвать своп в зависимости от того, на какой щелчок. Это было бы чище ... –