我有以下标记:
<ul class="MenuBarVertical" id="Ul1">
<li id="MBVItem3732874">
<div class="MainMenuBarBackgrounImage">
<a class="MenuBarItemSubmenu" href="/%D7%A7%D7%98%D7%92%D7%95%D7%A8%D7%99%D7%94%2D1.html">category 1</a></div>
<ul>
<li id="SMBVItem3732879">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D1%2D1.html" tabindex="-1">page 1.1</a></li>
<li id="SMBVItem3732880">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D1%2D2.html" tabindex="-1">page 1.2</a></li>
<li id="SMBVItem3732881">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D1%2D3.html" tabindex="-1">page 1.3</a></li>
<li id="SMBVItem3732882">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D1%2D4.html" tabindex="-1">page 1.4</a></li>
<li id="SMBVItem3732883">
<a href="/1%2D5.html" tabindex="-1">1.5</a></li>
</ul>
</li>
<li id="MBVItem3732875">
<div class="MainMenuBarBackgrounImage">
<a class="MenuBarItemSubmenu" href="/%D7%A7%D7%98%D7%92%D7%95%D7%A8%D7%99%D7%94%2D2.html" tabindex="-1">category 2</a></div>
<ul>
<li id="SMBVItem3732884">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D2%2D1.html" tabindex="-1">page 2.1</a></li>
<li id="SMBVItem3732885">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D2%2D2.html" tabindex="-1">page 2.2</a></li>
<li id="SMBVItem3732886">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D2%2D3.html" tabindex="-1">page 2.3</a></li>
<li id="SMBVItem3732887">
<a href="/%D7%A2%D7%9E%D7%95%D7%93%2D2%2D4.html" tabindex="-1">page 2.4</a></li>
</ul>
</li>
</ul>
我希望使用java脚本显示父UL的所有<li>
个ID(但目前它显示<li>
中的所有<ul>
)。
我的代码是:
window.onload = function () {
var list = document.getElementById("Ul1");
var items = list.getElementsByTagName("li");
for (var i = 0, size = items.length; i < size; i++) {
alert(items[i].parnetnode.id);
}
}
有人可以帮助我,如果有办法可以告诉我。
答案 0 :(得分:0)
将您的拼写parnetnode更改为parentNode
并为父级“ul”提供ID
alert(items[i].parentNode.id);
答案 1 :(得分:0)
您的代码在<li>
中获得所有#Ul1
个代码。当您迭代并致电items[i].parentNode.id
时,有些会为您提供正确的ID,但有些会为您提供#Ul1
。
相反,尝试只获取第二级<ul>
,然后访问父节点的ID:
window.onload = function () {
var list = document.getElementById("Ul1");
var items = list.getElementsByTagName("ul"); // <-- i.e. select #Ul1 ul
for (var i = 0, size = items.length; i < size; i++) {
alert(items[i].parentNode.id);
}
}
注意:此解决方案取决于您描述的HTML结构,并且只要没有第三级(或更深级)级<ul>
标记就可以使用。