我想实现在点击按钮的时候 判断每个Li下dt下class名为db1的元素的display是不是none 如果是 当前整个Li隐藏,报错了 应该怎么写 ?求路过前辈指点 ~!!!谢谢
我想实现在点击按钮的时候 判断每个Li下dt下class名为db1的元素的display是不是none 如果是 当前整个Li隐藏,报错了 应该怎么写 ?求路过前辈指点 ~!!!谢谢
$(function(){
$('#btn').click(function(){
for(var i = 0 ; i<$('#uls li').length ; i++){
var s = $('#uls li').eq(i).find('.db1');
if(s.css('display') == 'none'){
$('#uls li').eq(i).css('display','none')
}
}
})
})
你用的$('#uls li')[1]获取到的是原生js对象,不是jquery对象。
保存原因显而易见原生对象调用jquery方法当然会报错。
参考代码
`$('#btn').click(function(){
$('.db1').each(function(i){
if($('.db1').eq(i).css('display')=='none'){
$('.db1').eq(i).parent().parent().hide();
}
})
})`
console.log($("#uls li")[1].children[0].children[1]);
$("#uls li")[1].children[0].children[1].style.color="red";
我又来了。[style="display:none"]
这部分看上去好怪呀,如果能把这个东西改成class
。估计会爽一点
$('#uls .dbl[style="display:none"]').parent('li').hide();
13 回答12.7k 阅读
7 回答1.8k 阅读
9 回答1.6k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
6 回答754 阅读
jQ兼容获取原生DOM对象的快捷方法就是形如
$('#uls li')[1]
取数组元素的这种形式,你这样写了之后返回的是原生DOM对象,而原生DOM对象是没有.children()
这个方法的。所以你需要把后边的数组元素引用改成.eq(1)
的形式,亦即$('#uls li').eq(1)
,这样返回的是jQ对象,你才能正常的调用jQ方法。