我想找到当前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>
答案 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');