Найти родительский идентификатор от имени HTML href

0

Я хочу найти li id текущего html.

JQuery

var CurrentHTML = document.location.pathname.match(/[^\/]+$/)[0];

В этом я получу текущее имя html, например Client.html or Vendor.html. После получения текущего имени html, я хочу получить родительский идентификатор текущего html-имени, например li1 or li2.

пример

Если мой CurrentHTML является Candidate.html, тогда я хочу получить родительский идентификатор li (li4).

HTML

<ul class="nav">
    <li id="li1"><a href="Client.html">Client</a></li>
    <li id="li2"><a href="Vendor.html">Vendor</a></li>
    <li id="li3"><a href="#">Recruitment</a>
        <ul>
            <li id="li4"><a href="Candidate.html">Candidate</a></li>
            <li id="li5"><a href="Resource.html">Resource</a></li>
            <li id="li6"><a href="ClientRequest.html">Client Request</a></li>
            <li id="li7"><a href="CandidateAssignment.html">Candidate Assignment</a></li>
        </ul>
    </li>
    <li id="li8"><a href="Project.html">Project</a></li>
    <li id="li9"><a href="#">Security</a>
        <ul>
            <li id="li10"><a href="Roles.html">Roles</a></li>
            <li id="li11"><a href="Users.html">Users</a></li>
        </ul>
    </li>
    <li id="li12"><a href="#">Time Sheet</a>
        <ul>
            <li id="li13"><a href="TimeTracking.html">Tracking</a></li>
            <li id="li14"><a href="TimeTrackingReport.html">Report</a></li>
            <li id="li15"><a href="TimeSheetReport.html">Download</a></li>
        </ul>
    </li>
</ul>
  • 1
    $('.nav a[href="'+CurrentHTML+'"]').parent().attr('id')
Теги:

4 ответа

2
Лучший ответ

Вы можете сделать так:

var CurrentHTML = document.location.pathname.match(/[^\/]+$/)[0],

    liId = $('ul.nav li a[href="' + CurrentHTML + '"]').closest('li').attr('id');
1

Вы можете сделать это так:

var CurrentHTML = document.location.pathname.match(/[^\/]+$/)[0];
var liId = $('[href*="'+CurrentHTML+'"]').closest('li')[0].id;

$('[href*="'+CurrentHTML+'"]') это получает тэг привязки <a> который содержит currentHTML страницу currentHTML тогда вы можете перейти к его родительскому ли с .closest('li')[0] затем .id id с .id.

1

Использовать селектор атрибутов

$('a[href="' + CurrentHTML + '"]').parent().attr('id');
1

Попробуйте получить элемент с атрибутом href а затем используйте .parent().

var CurrentHTML = document.location.pathname.match(/[^\/]+$/)[0],
liId = $('ul.nav li a[href="' + CurrentHTML + '"]').parent().attr('id');

Ещё вопросы

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