Nano Hash - криптовалюты, майнинг, программирование

jQuery скрывает все теги ‹li›

Столкнувшись с некоторыми проблемами с jQuery, поскольку я новичок в этом, у меня есть некоторый код jQuery, который скрывает меню фильтра из <li> элементов. Однако, когда я использую это, он также скрывает теги <li>, которые я использую в заголовке главного меню.

Я думал назначить определенное имя класса для <li>, чтобы быть скрытым, но они уже используют определенные имена. (например, бухгалтерия, курьер и т. д.)

Как я могу скрыть только определенные теги <li>, а не теги в заголовке главного меню? Могу ли я назначить другой идентификатор для <li>, которые я хочу скрыть?

HTML-код для скрытия li:

<div class="tags">
<div id="col">
    <label>
        <input type="checkbox" rel="accounting" />Accounting</label>
</div>
<div id="col">
    <label>
        <input type="checkbox" rel="courier" />Courier</label>
</div>
<div id="col">
    <label>
        <input type="checkbox" rel="project-management" />Project Management</label>
</div>
<div id="col">
    <label>
        <input type="checkbox" rel="video-games" />Video Games</label>
</div>
</div>

<ul class="results">
<li class="accounting" style="list-style-type:none"><a href="http://cnn.com" style="text-decoration: none">Accounting</a>

</li>
<li class="courier" style="list-style-type:none"><a href="{{ path('job1') }}" style="text-decoration: none">Courier / Parcel Delivery</a>

</li>
<li class="project-management" style="list-style-type:none"><a href="{{ path('job3') }}" style="text-decoration: none">Game QA Project Management</a>

</li>
<li class="video-games" style="list-style-type:none"><a href="http://cnn.com" style="text-decoration: none">Video Games</a>

</li>
</ul>

Код jQuery (скрывает все теги li)

<script>
    $('div.tags').find('input:checkbox').on('click', function () {
        var vals = $('input:checkbox:checked').map(function () {
            return $(this).attr('rel');
        }).get();
        $('li').hide().filter(function () {
            return ($.inArray($(this).attr('class'), vals) > -1)
        }).show()
        if ($('input:checkbox:checked').length == 0) $('li').show()
    });
</script>

Ответы:


1

Попробуйте улучшить селектор, чтобы он был более конкретным, например:

<script>
    $('div.tags').find('input:checkbox').on('click', function () {
        var vals = $('input:checkbox:checked').map(function () {
            return $(this).attr('rel');
        }).get();
        $('.results li').hide().filter(function () {
            return ($.inArray($(this).attr('class'), vals) > -1)
        }).show()
        if ($('input:checkbox:checked').length == 0) $('.results li').show()
    });
</script>

Изменение с $('li') на $('.results li') приведет к выбору только элементов списка в пределах ul с классом results.

31.12.2014
  • Идеальный! Спасибо, сэр! 31.12.2014
  • Нет проблем, рад, что смог помочь! 31.12.2014

  • 2

    вам просто нужно заменить селектор jquery li на ваш container-class li вот так

    .results li
    

    РЕАЛЬНАЯ ДЕМО

    31.12.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..