JavaScript获取子元素

red*_*ted 36 html javascript

为什么这在firefox中不起作用我尝试选择类别然后使子类别可见.

<script type="text/javascript">
    function show_sub(cat) {
      var cat = document.getElementById("cat");
      var sub = cat.getElementsByName("sub");
      sub[0].style.display='inline'; 
}

</script>
Run Code Online (Sandbox Code Playgroud)

-

<ul>
    <li id="cat" onclick="show_sub(this)">
        Top 1
        <ul style="display:none" name="sub">
            <li>Sub 1</li>
            <li>Sub 2</li>
            <li>Sub 3</li>
        </ul>
    </li>
    <li>Top 2</li>
    <li>Top 3</li>
    <li>Top 4</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

编辑答案是:

<script type="text/javascript">
   function show_sub(cat) {
      cat.getElementsByTagName("ul")[0].style.display = (cat.getElementsByTagName("ul")[0].style.display == "none") ? "inline" : "none";
   }
</script>
Run Code Online (Sandbox Code Playgroud)

小智 44

UL没有name属性,但您可以通过标记名称引用ul.

尝试使用以下代码替换脚本中的第3行:

var sub = cat.getElementsByTagName("UL");
Run Code Online (Sandbox Code Playgroud)

  • 我所需要的所有工作的问题是`cat.getElementsByTagName("ul")[0] .style.display =(cat.getElementsByTagName("ul")[0] .style.display =="none")?"内联":"无";` (3认同)