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スクリプトを使用して、親ULのすべてのIDを表示したい<li>(ただし、現時点では、<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);

    }
}

誰かが私を助けて、これを行う方法があるかどうか私に知らせてもらえますか?

4

2 に答える 2

0

コードは内のすべての<li>タグを#Ul1取得しています。繰り返して呼び出すとitems[i].parentNode.id、正しいIDを提供するものもあれば、を提供するものもあります#Ul1

代わりに、2番目のレベルだけを取得してから<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);
    }
}

<ul>注:このソリューションは、説明したHTML構造に依存し、第3(またはそれ以上)レベルのタグがない限り機能します。

実例: http: //jsfiddle.net/U5pNS/

于 2013-02-10T10:09:39.677 に答える
0

スペルのparnetnodeをに変更parentNodeし、親「ul」にIDを指定します

alert(items[i].parentNode.id);
于 2013-02-10T10:01:35.737 に答える