从href HTML名称中查找父li id

时间:2014-02-17 07:13:38

标签: jquery html

我想找到当前HTML的li id。

的jQuery

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

在此我将获得当前的html名称,如Client.html or Vendor.html。 获取当前的html名称后,我想获取当前html名称的父li id,如li1 or li2

示例

如果我的CurrentHTML是Candidate.html,那么我想获得父li id(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>

4 个答案:

答案 0 :(得分:2)

你可以这样做:

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

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

答案 1 :(得分:1)

使用属性选择器

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

答案 2 :(得分:1)

你可以这样:

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

$('[href*="'+CurrentHTML+'"]')这会获得包含<a>页面的currentHTML锚标记,然后您可以使用.closest('li')[0]遍历其父li,然后使用{{获取ID 1}}。

答案 3 :(得分:1)

尝试使用href属性获取元素,然后使用.parent()

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