JavaScript获取子元素 [英] JavaScript get child element

查看:105
本文介绍了JavaScript获取子元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 <脚本类型

为什么在firefox中无法使用,我尝试选择类别并使子类别可见。 = 文本/ JavaScript的 >
函数show_sub(cat){
var cat = document.getElementById(cat);
var sub = cat.getElementsByName(sub);
sub [0] .style.display ='inline';
}

< / script>

-

 < UL> 
< li id =catonclick =show_sub(this)>
Top 1
< ul style =display:nonename =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>

编辑答案是:

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


解决方案

ULs没有name属性,但是您可以通过标记名称引用ul。



尝试在脚本中替换第3行:

  var sub = cat.getElementsByTagName(UL); 


Why this does not work in firefox i try to select the category and then make subcategory visible.

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

</script>

-

<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>

EDIT Answer is:

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

解决方案

ULs don't have a name attribute, but you can reference the ul by tag name.

Try replacing line 3 in your script with this:

var sub = cat.getElementsByTagName("UL");

这篇关于JavaScript获取子元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆