Я пытаюсь создать переключатель, который назначает класс и добавляет идентификатор к целевому адресу href. Я также хочу иметь возможность удалить содержимое переменной tags
из href, не удаляя остальную часть ссылки.
Моя проблема: Ну, когда я нажимаю ссылку, она правильно назначает ее href, но когда я нажимаю и уже активна ссылка, она отлично удаляет класс, но не удаляет то, что было добавлено в href. Например, если я нажимаю «строительство», я получаю http://bshoults.com/construction&
, что правильно, но когда я нажимаю еще раз, я получаю http://bshoults.com/construction&construction&
вместо http://bshoults.com
. Следующий код удаляет весь href, а не только часть construction&
.
$('.tags li a').click(function() {
// set variable to get the href of .button
var _href = $('.button').attr("href");
// if has class 'selected'
if ($(this).hasClass('selected')) {
// remove class 'selected'
$(this).removeClass('selected');
// set variable to get tag from id of item
var tags = ($(this).attr('id') + "&");
// create link based on href and tags
$('.button').removeAttr("href", tags);
}
// otherwise give it a class of 'selected'
else {
$(this).addClass('selected');
// set variable to get tag from id of item
var tags = ($(this).attr('id') + "&");
// create link based on href and tags
$('.button').attr("href", _href + tags);
}
});
Вот HTML:
<ul class="tags">
<li><a href="javascript: void(0)" id="construction">construction</a></li>
<li><a href="javascript: void(0)" id="saturday">saturday</a></li>
<li><a href="javascript: void(0)" id="singles">singles</a></li>
<li><a href="javascript: void(0)" id="sunday+morning">sunday morning</a></li>
<li><a href="javascript: void(0)" id="teaching">teaching</a></li>
</ul>
<p><a href="http://bshoults.com/" class="button">Next Step →</a></p>