javascript 获取DOM节点的困惑,谢谢大神详解
PHPz
PHPz 2017-04-10 14:40:23
0
7
447

DOM结构如下

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

PHPz
PHPz

学习是最好的投资!

reply all(7)
左手右手慢动作
$('#main .p1').hide()

是这样吗?

洪涛
var parent = document.getElementById('main');
var children = parent.getElementsByTagName('p');
var re = new RegExp('\\bp1\\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
女人-->p1
男人-->p2

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

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

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

巴扎黑

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

Peter_Zhu

$("#main .p1").filter(".p2").hide()

刘奇

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

$('#main .p1').hide()
PHPzhong
window.onload=function(){
        var ap=document.getElementById("main").children;
        for(var i=0;i<ap.length;i++){
            if(ap[i].className=="p1")
                ap[i].style.display=ap[i].style.display=="none"?"block":"none";
        }
    }
    
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template