Все -JQuery toggleClass работает, добавив .text() замена по щелчку ломает его
я, кажется, интересный вопрос в решении требования, где нажатие кнопки не только показывает/скрывает ДИВ под ней (отсюда ID значение на кнопке), но также должны изменить текст внутри кнопки, а также значка сплава, чтобы перейти от значка коллапса на иконку коллапса верхом (см больше здесь: http://nickpiesco.github.io/alloy-ui-font-awesome-cheatsheet/)
HTML
<div class="button-holder">
<button class="btn btn-primary toggle-hidden" id="1">Expand
Options <span class="icon-collapse"></span></button>
</div>
JS
$(".hidden-group").hide();
$(".toggle-hidden").click(function(e) {
event.preventDefault();
var text = $(this).text();
$(this).text(
text == "Minimize Options" ? "Expand Options" : "Minimize Options");
$(this).find("span").toggleClass("icon-collapse");
$(this).find("span").toggleClass("icon-collapse-top");
$("#hidden-" + e.target.id).toggle(250);
});
Проблема, если я закомментировать код замены .text() (который работает), код .toggleClass() начнет работать снова. С кодом .text() замена текста приведет к исчезновению тега при исследовании в инструментах разработчика Chrome. После переключая несколько раз, он будет выглядеть, не пядь не включены:
<button class="btn btn-primary toggle-hidden" id="1">Minimize Options</button>
Я попытался увидеть, если я могу просто добавить промежуток в текст заменить код, но тогда вы будете просто получить фактические текст в кнопке.
Есть ли способ предотвратить замену .text() после удаления диапазона после него (что приводит к тому, что изображение находится в конце этой кнопки)? Другие мысли или предложения также приветствуются.
положить содержание текста в его собственной '' и просто заменить, что –
я буду возиться с этим немного - я имел пролет для всей вещи в одном месте, но затем его прикладные стили Я не хочу, чтобы текст, а также перемещение значка слева от текста, а не справа, как у меня сейчас. Тем не менее, возможно, придется что-то сделать. – aohm1989