Я использую jstree и хочу удалить определенный узел по его идентификатору после нажатия кнопки.Удалить узел по ID в jstree при нажатии кнопки
Это мое дерево в виде списка HTML:
<div id="testtree">
<ul>
<li id="1" title="ID:1"><a>Fruits and Vegetables</a>
<ul>
<li id="11" title="ID:11"><a>Fruit</a>
<ul>
<li id="111" title="ID:111"><a>Apple</a></li>
<li id="112" title="ID:112"><a>Banana</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
и это моя кнопка событие (у меня есть несколько кнопок, следовательно, массив):
buttons[0].addEventListener("click", function(ev) {
$("#testtree").jstree("remove", $("111"));
});
Любые идеи, что я Не хватает?
Update:
Я исправил опечатку, но она по-прежнему не работает. Вот полный код, может быть, ошибка в другом месте?
<html>
<head>
<title>jstree test</title>
</head>
<body>
<div id="testtree">
<ul>
<li id="1" title="ID:1"><a>Fruits and Vegetables</a>
<ul>
<li id="11" title="ID:11"><a>Fruit</a>
<ul>
<li id="111" title="ID:111"><a>Apple</a></li>
<li id="112" title="ID:112"><a>Banana</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<button>Remove Apple</button>
<script type="text/javascript" src="_lib/jquery.js"></script>
<script type="text/javascript" src="jquery.jstree.js"></script>
<script>
$(document).ready(function() {
$("#testtree").jstree({
"plugins" : [ "themes", "html_data", "checkbox", "ui" ],
"core": { "initially_open": ["1"]}
});
});
var buttons = document.querySelectorAll("button");
buttons[0].addEventListener("click", function(ev) {
$("#testtree").jstree("remove","#111");
});
</script>
</body>
</html>
В JQuery вы можете написать:. '$ ("# Testtree # 111") удалить();' –
Это работает, но мне нужно, чтобы иметь возможность перезагрузить дерево позже без отсутствующих узлов. – atreju