11 回答

TA貢獻1802條經驗 獲得超5個贊
jQ兼容獲取原生DOM對象的快捷方法就是形如$('#uls li')[1]
取數組元素的這種形式,你這樣寫了之后返回的是原生DOM對象,而原生DOM對象是沒有.children()
這個方法的。所以你需要把后邊的數組元素引用改成.eq(1)
的形式,亦即$('#uls li').eq(1)
,這樣返回的是jQ對象,你才能正常的調用jQ方法。

TA貢獻1851條經驗 獲得超5個贊
$(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')
}
}
})
})

TA貢獻1862條經驗 獲得超7個贊
你用的$('#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();
}
})
})`

TA貢獻2065條經驗 獲得超14個贊
console.log($("#uls li")[1].children[0].children[1]);
$("#uls li")[1].children[0].children[1].style.color="red";

TA貢獻1943條經驗 獲得超7個贊
我又來了。[style="display:none"]
這部分看上去好怪呀,如果能把這個東西改成class
。估計會爽一點
$('#uls .dbl[style="display:none"]').parent('li').hide();