Javascript 使用jquery展开折叠树节点
我在树中借助jquery创建树,每当有一个以上的子对象作为一个特定的子对象时,我想给它一个切换效果。这意味着在单击时应该有一个加号图标,树应该展开,负号图像应该出现,负号树应该折叠,加号图像应该出现 如何开发这个树节点的任何工作示例都会很有帮助 就这样,我使用了你的功能Javascript 使用jquery展开折叠树节点,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我在树中借助jquery创建树,每当有一个以上的子对象作为一个特定的子对象时,我想给它一个切换效果。这意味着在单击时应该有一个加号图标,树应该展开,负号图像应该出现,负号树应该折叠,加号图像应该出现 如何开发这个树节点的任何工作示例都会很有帮助 就这样,我使用了你的功能 function createSpanImageNode(spnNew) { var spnImage = document.createElement("span"); spnImage.id = spnNew
function createSpanImageNode(spnNew) {
var spnImage = document.createElement("span");
spnImage.id = spnNew + "_" + "spn1";
$(spnImage).addClass('SpanPlus');
spnImage.setAttribute('onclick', 'toogleNode("' + spnImage.id + '")');
return spnImage;
}
function toogleNode(spnID) {
debugger;
var dv = $("#" + spnID).parents("div:first");
var chkUl = $(dv).find('ul').length;
if (chkUl.length > 0) {
if ($("#" + spnID).hasClass('SpanPlus'))
$("#" + spnID).removeClass('SpanPlus').addClass('SpanMinus');
else
$("#" + spnID).removeClass('SpanMinus').addClass('SpanPlus');
$(dv).find('ul').animate({ height: 'toggle' });
}
}
但当它得到chkul值1时,意味着它必须进入if
循环,但它没有进入内部。我不知道为什么你能告诉我。我不确定你的树结构,但你可以使用类似的东西
$(img.handle).click(function(){
if($(this).hasClass('plus'))
$(this).removerClass('plus').addClass('minus');
else
$(this).removerClass('minus').addClass('plus');
$(this).find('child').animate({height: 'toggle'});
});
我不确定你的树结构,但你可以用这样的东西
$(img.handle).click(function(){
if($(this).hasClass('plus'))
$(this).removerClass('plus').addClass('minus');
else
$(this).removerClass('minus').addClass('plus');
$(this).find('child').animate({height: 'toggle'});
});
您还可以更改图像src属性,但建议使用类
removeClass
应该是removeClass
-但是toggleClass
将允许您删除该条件。您还可以更改图像src属性,但是建议使用类removeClass
应该是removeClass
-但是toggleClass
会允许您删除该条件。