Javascript 仅当存在子菜单时显示图标
在我的平板电脑导航中,有一些“加号”图标用于切换子菜单。我只想在子菜单存在时显示加号图标 我已经用以下代码尝试过:Javascript 仅当存在子菜单时显示图标,javascript,android,jquery,html,css,Javascript,Android,Jquery,Html,Css,在我的平板电脑导航中,有一些“加号”图标用于切换子菜单。我只想在子菜单存在时显示加号图标 我已经用以下代码尝试过: if($('.tablet-li-item').find('.tablet-sub-menu').length !== 0) { $(this).children('.open-btn').css('display', 'block'); } HTML: 与addClass不同,show也是一个可能的解决方案。我猜您的错误在于$this,它
if($('.tablet-li-item').find('.tablet-sub-menu').length !== 0) {
$(this).children('.open-btn').css('display', 'block');
}
HTML:
与addClass不同,show也是一个可能的解决方案。我猜您的错误在于$this,它超出了范围 您可以尝试以下方法:
$(document).ready(function(){
$('.tablet-li-item').each(function(){
if( $(this).find('.tablet-sub-menu').length > 0 ){
$(this).children('.open-btn').css('visibility', 'visible');
}
});
});
美元的范围是什么。我们需要更多的代码来帮助您。请同时粘贴您的html设置。我添加了HTMLTanks。但是在您的编辑中仍然没有$this的范围。您的if语句没有将jQuery放在一个范围内,在这个范围内它指向任何东西。感谢您的回答,不幸的是按钮没有显示,我真的不知道为什么^^^您检查了元素以查看是否有任何css阻止它们显示吗?是的,我检查过,“打开btn”的默认值是“可见性:隐藏”,这应该被jquery函数覆盖,但它不会覆盖,这就解释了。设置display:block,只要它们具有可见性:hidden就不会做任何事情。然后需要将“可见性”设置为“可见性:可见”。是的,现在我也明白了。谢谢你的帮助!:D
$('.tablet-li-item').has('ul').children('.open-btn').addClass('active');
$(document).ready(function(){
$('.tablet-li-item').each(function(){
if( $(this).find('.tablet-sub-menu').length > 0 ){
$(this).children('.open-btn').css('visibility', 'visible');
}
});
});