0

我有以下标记:

<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 脚本<li>显示父 UL 的所有 id(但目前它显示了 UL 中的<li>所有id)。<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);

    }
}

谁能帮助我,让我知道是否有办法做到这一点。

4

2 回答 2

0

将您的拼写 parnetnode 更改为parentNode并为父“ul”提供一个 id

alert(items[i].parentNode.id);
于 2013-02-10T10:01:35.737 回答
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>标签就可以工作。

工作示例:http: //jsfiddle.net/U5pNS/

于 2013-02-10T10:09:39.677 回答