addClass
- это метод jQuery, а e.target
не является объектом jQuery. Вам нужно заключить его в $()
:
$("#treeview").click(function (e) {
$(e.target).addClass("selected");
});
Ваш код не будет работать в любом случае, так как событие click привязано только к элементу #treeview
, и когда этот элемент срабатывает, e.target
всегда будет элементом #treeview
. То, что вы ищете, вероятно, что-то вроде этого:
$("#treeview li").click(function() {
$(this).addClass("selected");
});
Это связывает функцию click со всеми элементами li
, и когда один из них щелкается, он добавляет класс «selected» к этому элементу.
Возможно, вы хотите разрешить отмену выбора объектов, поэтому вам следует использовать toggleClass
вместо addClass
. Если вы хотите разрешить выбор только одного объекта, вы можете использовать это:
$("#treeview li").click(function() {
// Clear all selected states
$('#treeview li').removeClass('selected');
// Set current as selected
$(this).addClass("selected");
});
Надеюсь, это поможет.