simplify these jquery?
how can i simplify these jquery code? any idea?
$('#expand').click(function() {
$('.bbit-tree-elbow-plus').addClass('bbit-tree-elbow-minus');
$('.bbit-tree-elbow-minus').removeClass('bbit-tree-elbow-plus');
$('ul.bbit-tree-node-ct .bbit-tree-elbow-end-plus').addClass('bbit-tree-elbow-end-minus');
$('ul.bbit-tree-node-ct .bbit-tree-elbow-end-minus').removeClass('bbit-tree-elbow-end-plus')
if ($("#preview_root").hasClass("bbit-tree-node-collapsed")) {
$('#preview_root').removeClass('bbit-tree-node-collapsed');
$('#preview_root').addClass('bbit-tree-node-expanded');
$('ul.bbit-tree-root .bbit-tree-elbow-end-plus').addClass('bbit-tree-elbow-end-minus');
$('ul.bbit-tree-root .bbit-tree-elbow-end-minus').removeClass('bbit-tree-elbow-end-plus')
$('.bbit-tree-node-ct').show();
开发者_Python百科 }
$(".bbit-tree-node-ct ul").show();
});
$('#collapse').click(function() {
$('.bbit-tree-elbow-minus').addClass('bbit-tree-elbow-plus');
$('.bbit-tree-elbow-plus').removeClass('bbit-tree-elbow-minus');
$('ul.bbit-tree-node-ct .bbit-tree-elbow-end-minus').addClass('bbit-tree-elbow-end-plus');
$('ul.bbit-tree-node-ct .bbit-tree-elbow-end-plus').removeClass('bbit-tree-elbow-end-minus')
$(".bbit-tree-node-ct ul").hide('slow');
});
You can use .toggleClass
instead of addClass removeClass and put your class names in as arguments of the function.
Toggle Class
Yes, use toggleClass as TALLBOY mentioned. Also, consider putting your $('.class') calls into a variable. For example:
var plus = $('.bbit-tree-elbow-plus');
from then on, use it like:
plus.toggleClass('bbit-tree-elbow-minus');
精彩评论