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?