jQuery toggle () и копировать только видимый текст без использования remove ()

0

Вот мой код:

<div class="post-content">
    <span class="togglers complete">
        <a class="toggler" href="#" title="change" style="display: none;">I'm sending</a>
        <span class="divider" style="display: none;">|</span>
        <a class="toggler selected" href="#" title="change">We're sending</a>
        <span class="divider" style="display: none;">|</span>
        <a class="toggler" href="#" title="change" style="display: none;">I've sent</a>
        <span class="divider" style="display: none;">|</span>
         <a class="toggler" href="#" title="change" style="display: none;">We've sent</a>
    </span>
    you a message with that information so let me know if you don't receive it.
</div>

Я пытаюсь только получить.toggler, который виден на экране. У меня есть кнопка, поэтому, когда я нажимаю на нее, она регистрирует предложение в консоли для тестирования. Я начал с:

$(this).siblings(".post-content").find(':hidden').remove().end().text().replace(/\s+/g, " ")

который работал, пока я не попытался нажать на.toggler после того, как я нажал кнопку, но так как они были удалены, они не отображаются.

Поэтому я попробовал что-то вроде этого:

console.log($(this).siblings(".post-content").find().not(':hidden').end().text().replace(/\s+/g, " ")) 

потому что он возвращается null

Чтобы добавить к осложнениям, они также имеют visiblity:visible применяются ко всем из них, потому что они находятся в всплывающем модуле (Foundation open) и наследуют стиль, поэтому я не могу этого сделать

$(this).siblings(".post-content").not(':hidden').end().text().replace(/\s+/g, " ") 

потому что он показывает все.

Я пытаюсь получить что-то по строкам, если оно не display:none показывает это. В идеале, в этом примере я бы закончил:

Мы отправляем вам сообщение с этой информацией, поэтому дайте мне знать, если вы его не получите.

Здесь скрипка с исходной строкой кода.

  • 0
    Вместо того, чтобы использовать .remove() вы не можете переключать класс, например .toggleClass('hide') и добавлять в свой CSS .hide { display: none; } ?
  • 0
    Как насчет использования клонированного элемента: jsfiddle.net/kMshk/21
Показать ещё 1 комментарий
Теги:
toggle

1 ответ

0

что, если вы добавили класс, называемый "exclude" для каждого элемента, а затем вызвали toggle для дочерних элементов вашего родительского div?

$ ( "Пост-контент. ") Дети (": нет (.exclude)") переключение();..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню