Найти и отключить <a href>

У меня странная структура, и я хочу отключить первый элемент внутри li.expanded с помощью a[href = "/abc"]. У меня родитель и ребенок имеют одинаковый href, а заголовок отличается. Как выбрать только родительский элемент?

Вот код:

<ul class = "n-right m-menu__link-list" id = "main-right-menu">
    <li class = "first leaf"><a href = "/xyz" title = "xyz-parent">xyz-parent</a></li>
    <li class = "leaf"><a href = "/pqr" title = "pqr">pqr</a></li>
    <li class = "last expanded"><a href = "/abc" title = "abc">abc</a>  //want to find this element and apply treatment

      <ul class = "n-right m-menu__link-list" id = "main-right-menu">
        <li class = "first leaf"><a href = "/abc" title = "abc1">abc</a></li>  //not this one
        <li class = "last leaf"><a href = "/mno" title = "mno">mno</a></li>
    </ul>
    </li>
</ul>

Что пробовал, функция работает. он выбирает как родительский, так и дочерний a[href = "/abc"]. Я хочу найти и выбрать только родительский.

openabcInNav: function() {
    var navEl = $('#main-menu, #main-right-menu li.expanded').find('a[href = "/abc"]:nth-child(1)');
    navEl.addClass('doNotClose');
    navEl.on('click mouseover', function(event) {         
        event.preventDefault();
        $('nav.global-nav').find('li.expanded').toggleClass('show');
    });
},  
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
59
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать селектор :first, который вернет первое вхождение, которое является родителем:

$('ul>li.expanded>a[href = "/abc"]:first')

$('ul>li.expanded>a[href = "/abc"]:first').css('background-color', 'green');
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class = "n-right m-menu__link-list" id = "main-right-menu">
  <li class = "first leaf"><a href = "/xyz" title = "xyz-parent">xyz-parent</a></li>
  <li class = "leaf"><a href = "/pqr" title = "pqr">pqr</a></li>
  <li class = "last expanded"><a href = "/abc" title = "abc">abc</a> //want to find this element and apply treatment

    <ul class = "n-right m-menu__link-list" id = "main-right-menu">
      <li class = "first leaf"><a href = "/abc" title = "abc1">abc</a></li> //not this one
      <li class = "last leaf"><a href = "/mno" title = "mno">mno</a></li>
    </ul>
  </li>
</ul>

a[href = "/abc"]:nth-child(1) смотрит на первый дочерний объект внутри a[href = "/abc"]

Попробуйте использовать:

a[href = "/abc"]:nth-of-type(1)

Это вернет первое, что соответствует a[href = "/abc"]

Другие вопросы по теме