2013-12-12 2 views
0

Я использую следующую функцию для создания div динамически, который отлично работает до сих пор.jQuery: как добавить HTML в динамически созданный div

Как я могу добавить HTML в этот div, где я говорю «text: userName»? В частности, я хотел бы добавить значок Bootstrap (<i class="icon-sign-blank"></i>) перед именем пользователя, но при попытке это просто добавляет HTML как текст, а не форматирует его как значок. (Bootstrap установлен правильно.)

function addUser() 
{ 
var userName = $('#userName').val(); 
var userElementId = getId(userName); 

$('<div/>', { 
    text: userName, 
    id: userElementId, 
    onmouseover: "function1('" + userName + "', this)", 
    onmouseout: "function2()", 
}).addClass('user').appendTo('#parentDiv'); 

if (nameCtrl) { 
    nameCtrl.GetStatus(userName, 'users'); 
} 

$('#userName').val(''); 
} 

Большое спасибо за любую помощь с этим, Тим

+1

'HTML: Имя пользователя + "",' ??? –

+0

Спасибо, что сработало. Я пробовал это раньше, но, вероятно, там была опечатка. – user2571510

ответ

1

Изменить text: на html: и добавить значок до имени пользователя.

$('<div/>', { 
    html: '<i class="icon-sign-blank"></i> '+userName, 
    id: userElementId, 
    onmouseover: "function1('" + userName + "', this)", 
    onmouseout: "function2()", 
}).addClass('user').appendTo('#parentDiv'); 
+0

Perfect - спасибо! – user2571510

+0

@ пользователь2571510 добро пожаловать. – TheCarver

1

Вы настраиваете текст: attribte. Попробуйте установить html: атрибут с помощью html, который вы хотите.

0

попробовать что-то вроде этого

var div = '<div><i class="icon-sign-blank"></i>'+userName+'</div>'; 
$(div, { 
    id: userElementId, 
    onmouseover: "function1('" + userName + "', this)", 
    onmouseout: "function2()", 
}).addClass('user').appendTo('#parentDiv'); 
Смежные вопросы