我想检查元素是否没有子元素设置父元素display:none
属性。
但我的js没有按预期工作我的错误在哪里?
$(document).ready(function(){
if (!$('#detay-main-carousel').children('.carousel-inner').length>1) {
$('#detay-main-carousel').hide();
}
});

<div id="detay-main-carousel" style="background:turquoise;">
<div class="carousel-inner">
This is the slider.....
</div>
</div>
<div id="detay-main-carousel" style="background:yellow;">
This is the slider.....
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:3)
ID function addNum(num1,num2){
var num;
var sum = 0;
for(var i = num1; i<= num2; i++ ){
num = i;
sum += num;
}
}
console.log(addNum(1,2));
重复。
detay-main-carousel
也应该是:
! ..children('.carousel-inner').length > 1
或! ..children('.carousel-inner').length
或children('.carousel-inner').length < 1
children('.carousel-inner').length === 0
&#13;
$(document).ready(function(){
$('.detay-main-carousel').each(function () {
if (!$(this).children('.carousel-inner').length) {
$(this).hide();
}
})
});
&#13;
答案 1 :(得分:1)
!
运算符的优先级高于>
,因此您应该以不同的方式编写它:
if ($('#detay-main-carousel').children('.carousel-inner').length<=1) {
与>1
检查完全相反。但是阅读你的问题,你会想要测试没有这样的孩子(不包括1):
if ($('#detay-main-carousel').children('.carousel-inner').length == 0) {
请注意,$('#detay-main-carousel')
仅匹配第一次出现,因为id
值应该是唯一的。最好用类替换id
值,这样它们就不必是唯一的。
答案 2 :(得分:1)
$(document).ready(function(){
if ($('#detay-main-carousel').children('.carousel-inner').length < 1) {
$('.detay-main-carousel').hide();
}
});
<div class="detay-main-carousel" style="background:turquoise;">
<div class="carousel-inner">
This is the slider.....
</div>
</div>
<div id="detay-main-carousel" style="background:yellow;">
This is the slider.....
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>