首页 > javascript 获取DOM节点的困惑,谢谢大神详解

javascript 获取DOM节点的困惑,谢谢大神详解

DOM结构如下

现在需求是获取id为main div里面的div class名字是 div1的全部隐藏,但是不要 class是div2的div隐藏,如何做呢?


var parent = document.getElementById('main');
var children = parent.getElementsByTagName('div');
var re = new RegExp('\\bdiv1\\b', 'i');

for(var i = 0; i < children.length; i++){
    var child = children[i];
    if(re.test(child.className)){
        child.style.display = 'none';
    }
}

你还是不会使用jq的筛选器
给你举个例子:

地球-->#main
女人-->div1
男人-->div2

你想让地球上的女人都躺下

$("地球 女人").躺下( );

对应jquery代码$("#main .div1").hide();


window.onload=function(){
        var aDiv=document.getElementById("main").children;
        for(var i=0;i<aDiv.length;i++){
            if(aDiv[i].className=="div1")
                aDiv[i].style.display=aDiv[i].style.display=="none"?"block":"none";
        }
    }
    

这种问题其实只要把选择器的相关资料阅读下不就知道了,不会应该先找google查资料,这边的回答大部分只会针对这个问题去回答,而你可能是对这部分只是都有短板

$('#main .div1').hide()

$('#main .div1').hide()

是这样吗?


$("#main .div1").filter(".div2").hide()


直接取id啊,莫非你的页面有相同的id?

【热门文章】
【热门文章】