HI,
我有以下html
<div id="LineInfoHeader" class="div_header_inner headertitle align_center defaultheadercolor portlet-header-left-padding default_bottom_border default_border_color"><span class="ui-icon ui-icon-minusthick"></span>Line Item Information</div>
**Edit**
<div class="div_content_inner" id="Order_header"></div>
我正在尝试切换span类和Order_header div 我使用以下代码:
$(".div_header_inner.ui-icon").toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick").toggle();
}
我不知道为什么它不起作用。 请告诉我哪里出错了。 提前致谢。 You can see the problem here
答案 0 :(得分:6)
您的选择器已关闭,它正在寻找两个类.div_header_inner
和 .ui-icon
的元素,而不是一个在另一个内部。为此,您需要一个中间的空格(the descendant selector),如:
$(".div_header_inner .ui-icon").toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick").toggle();
此外,.toggleClass()
可以使用多个类(空格分隔),因此您可以将其缩短为:
$(".div_header_inner .ui-icon").toggleClass("ui-icon-minusthick ui-icon-plusthick").toggle();
You can try that version here。但是,我不能立即清楚你最后想要.toggle()
哪个元素,如果<div>
你需要改变它like this:
$(".div_header_inner").toggle().find(".ui-icon").toggleClass("ui-icon-minusthick ui-icon-plusthick");
$(".div_header_inner .ui-icon").toggleClass("ui-icon-minusthick ui-icon-plusthick").parent().toggle();