jQuery toggleClass if else 不起作用
jQuery toggleClass if else not working
我无法在if-else条件下获得工作jQuery toggleClass()。
我的 HTML 代码是:
<ul>
<li class="firstLevel">
<a href="#main_cat_01">MAIN CATEGORY #1</a>
<ul class="dijete">
<li>
<a href="#subt_cat_01">SUB CATEGORY #1</a>
</li>
</ul>
</li>
<li class="firstLevel">
<a href="#main_cat_02">MAIN CATEGORY #2</a>
<ul class="dijete">
<li>
<a href="#subt_cat_02_01">SUB CATEGORY #1</a>
</li>
</ul>
</li>
</ul>
我的CSS代码是:
ul.dijete {
display: none;
}
.vidimte{
display: block;
}
我的JavaScript代码是:
var $j = jQuery.noConflict();
$j(function() {
$j('li.firstLevel').click(function(){
if($j(this).children("ul.dijete").hasClass("vidimte")){
$j(this).children("ul.dijete").toggleClass('vidimte'); //visible
$j(this).find("ul.dijete").prev("li.firstLevel a").css({
"background-image":'url(URL_TO_THE_IMAGE_OPEN)',
"background-position":"right center",
"display":"block",
"background-repeat":"no-repeat"
});
}else{ // else add image close and display none
$j(this).find('ul.vidimte').prev("li.firstLevel a").css({
"background-image":'url(URL_TO_THE_IMAGE_CLOSE)',
"background-position":"right center",
"display":"block",
"background-repeat":"no-repeat"
});
}
});
});
我无法做到这一点。
我必须使用吗?('点击)方法?
有什么想法吗?
感谢您的帮助或任何信息!
知道了!感谢您分享想法!
解决方案对我有用:
var $j = jQuery.noConflict();
$j(function() {
$j('li.firstLevel').on('click', function() {
if($j(this).closest("li").children("ul.dijete").length){
$j(this).children("ul.dijete").toggleClass('vidimte');
if($j(this).children("ul.dijete").hasClass("vidimte")){
$j(this).find("ul.dijete").prev("li.firstLevel a").css({
"background-image":'url(http://www.v-tac.hr/wp-content/themes/vtac/images/stories/customfilters/open.png)',
"background-position":"right center",
"display":"block",
"background-repeat":"no-repeat"
});
}else{
$j(this).find('ul.dijete').prev("li.firstLevel a").css({
"background-image":'url(http://www.v-tac.hr/wp-content/themes/vtac/images/stories/customfilters/closed.png)',
"background-position":"right center",
"display":"block",
"background-repeat":"no-repeat"
});
}
}
});
});
.toggleClass()
函数用于删除或添加类,即在您的else
表达式中的问题中说您没有删除或添加类;将$j(this).children(".dijete").toggleClass('vidimte')
添加到else
但我认为您的目标是单击链接然后显示/隐藏子链接也更改背景。然后代码链接这些: $j(this).children('ul').toggleClass('dijete vidimte')
相关文章:
- Javascript if和else语句不起作用
- Javascript if-else循环不起作用
- if-else循环和jquery在热应用程序或冷应用程序中不起作用
- If.else语句检查NaN和空字符串是否在JavaScript中不起作用
- 输入类型单选按钮选中else语句在jquery中不起作用
- jQuery else 函数不起作用
- jQuery toggleClass if else 不起作用
- 隐藏元素取决于 if/else 语句的值不起作用
- 如果 else 语句在 javascript onclick() 中不起作用,当从 android webview 调用
- jQuery 隐藏/显示在 if/else 语句中不起作用
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- JavaScript 从 XML 中提取数据(如果 else 语句不起作用)
- JavaScript 如果 elseif else 不起作用
- innerHTML 在 if/else 中不起作用
- 带有 .get 的 jquery if/else 语句不起作用
- 如果 else 语句在 JavaScript 中不起作用
- 我有一个基于计数器的 if/else 语句,但由于某种原因,else 不起作用
- Javascript/JQuery/AJAX Else 如果不起作用
- Javascript if/else 语句不起作用,但是里面的代码就像我在没有 if/else 的情况下测试的那样
- jQuery图像交换if-else语句不起作用