Во-первых, является ли атрибут nodeid
верным HTML?Я так не думаю.Используйте data-nodeid
, это будет действительный HTML5.(Почему вы не используете обычный id
? Вы смешиваете nodeid
и id
. В любом случае, это возможно при nodeid
. Читать дальше.)
Если вы хотите добавить HTML-кодВы не можете использовать .text()
.Есть много способов добавить HTML-код, это пример с .append
: http://jsfiddle.net/Vxaeb/1/
$("li").click(function() {
$(this).append('<ul><li>injected item</li></ul>');
});
(просто пример)
Вы получаете data-nodeid
с var id = $(this).attr("data-nodeid");
.Получите доступ к элементу с помощью $('li[data-nodeid="'+id+'"]')
.
HTML:
<div>
<ul>
<li data-nodeid="1">item 1</li>
<li data-nodeid="2">item 2</li>
<li data-nodeid="3">item 3</li>
</ul>
</div>
Полный JS:
$("li").click(function() {
var id = $(this).attr("data-nodeid");
var path = window.location + "/SelectNode/" + id;
$.getJSON(path, function (data, status) {
alert(id + " : " + data);
$('li[data-nodeid="'+id+'"]').append('<ul><li>'+data+'</li></ul>');
});
});
Здесь jsFiddle с вашим кодом И nodeid
(как выупомянул, что вам нужно это) И действительный HTML5: http://jsfiddle.net/Vxaeb/3/