我做jQuery的(家庭作業)的樣本「樹視圖」插件,但我有一點問題:這裏是代碼:點擊鏈接jQuery的
(function($){
$.fn.TreeView = function() {
$("ul li").children().css("display","none");
$("li").on("click", function() {
$(this).siblings().find("*").css("display", "none");
$(this).children().css("display", "block");
$(this).children().children().css("display", "block");
console.log($(this).children()[0]);
});
$(this).on("mouseover", function() {
$(".hover").removeClass("hover");
$(this).addClass("hover");
});
$(this).on("mouseout", function() {
$(this).removeClass("hover");
});
$("li").css("cursor", "pointer");
return this;
};
}(jQuery));
樣本HTML部分:
<ul id="example-ul">
<li> Item 1
</li>
<li> Item 2
<ul>
<li> Item 2.1 </li>
<li> Item 2.2
<ul>
<li> Item 2.2.1 </li>
<li> Item 2.2.2
<ul>
<li> Item 2.2.2.1 </li>
<li> Item 2.2.2.2
<ul id="asd">
<li> Item 2.2.2.2.1 </li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
Item 3
<ul>
<li> Item 3.1
<ul>
<li> Item 3.3.1 </li>
</ul>
</li>
<li> Item 3.2 </li>
</ul>
</li>
</ul>
<!-- scripts -->
<script src="js/jquery.js"></script>
<script src="js/script.js"></script>
<script>
//Example
$("#example-ul").TreeView();
</script>
所以我面對的問題是「鏈接」點擊,我想只顯示兒童元素(在控制檯上),但每次點擊我都會得到「以前的」子元素和新的 - 我想要可視化只有當前的。
因此,例如,如果您單擊項目2.2.2,您只想看到項目2.2.2,項目2.2和項目2?不是項目2.2.1,項目2.1和項目1,即使它們在語義上組織爲兄弟姐妹或父母兄弟姐妹? – oooyaya
不,我想要例如(項目2.2.2)只看項目2.2.2.1 –
所以你想擴大隻有最內的項目,而不擴大父母? – oooyaya