Reputation: 2255
I am trying to append new data to the container div using jquery .append() function. But, the output appended trims the spaces between the labels created. Check the screenshot attached:
How can I fix this issue?
Javascript and HTML code are given below:
$("a.add-member").click(function(){
var user = '<div class="row user">'+
'<div class="col-md-6">[email protected]</div>'+
'<div class="col-md-4">'+
'<div class="user-roles">'+
'<span class="label label-user-role">Role 1</span>'+
'<span class="label label-user-role">Role 2</span>'+
'<span class="label label-user-role active">Role 3</span>'+
'</div>'+
'</div>'+
'<div class="col-md-2 text-center">'+
'<a href="#" class="remove-member"><i class="fa fa-times-circle-o"></i></a>'+
'</div>'+
'</div>';
$("#add-team .users").append(user).hide(0).fadeIn(700);
});
<div class="users">
<div class="row user">
<div class="col-md-6">[email protected]</div>
<div class="col-md-4">
<div class="user-roles">
<span class="label label-user-role">Role 1</span>
<span class="label label-user-role">Role 2</span>
<span class="label label-user-role active">Role 3</span>
</div>
</div>
<div class="col-md-2 text-center">
<a href="#" class="remove-member"><i class="fa fa-times-circle-o"></i></a>
</div>
</div>
<div class="row user">
<div class="col-md-6">[email protected]</div>
<div class="col-md-4">
<div class="user-roles">
<span class="label label-user-role">Role 1</span>
<span class="label label-user-role">Role 2</span>
<span class="label label-user-role active">Role 3</span>
</div>
</div>
<div class="col-md-2 text-center">
<a href="#" class="remove-member"><i class="fa fa-times-circle-o"></i></a>
</div>
</div>
</div>
Upvotes: 1
Views: 90
Reputation: 104
Since you have written your code in HTML in different line for each span but when you add div or anything in through jQuery by creating a string it consider it as a single line. So if you add \n at each line it will work.
user = '<div class="row user">' +
'<div class="col-md-6">[email protected]</div>' +
'<div class="col-md-4">' +
'<div class="user-roles">' +
'<span class="label label-user-role">Role 1</span>\n' +
'<span class="label label-user-role">Role 2</span>\n ' +
'<span class="label label-user-role active">Role 3</span>\n ' +
'</div>' +
'</div>' +
'<div class="col-md-2 text-center">' +
'<a href="#" class="remove-member"><i class="fa fa-times-circle-o"></i></a>' +
'</div>' +
'</div>';
$(".users").append(user).hide(0).fadeIn(700);
Upvotes: 0
Reputation: 2255
Added spaces in jQuery code:
$("a.add-member").click(function(){
var user = '<div class="row user">'+
'<div class="col-md-6">[email protected]</div>'+
'<div class="col-md-4">'+
'<div class="user-roles">'+
'<span class="label label-user-role">Admin</span> '+
'<span class="label label-user-role">Observer</span> '+
'<span class="label label-user-role active">Normal</span> '+
'</div>'+
'</div>'+
'<div class="col-md-2 text-center">'+
'<a href="#" class="remove-member"><i class="fa fa-times-circle-o"></i></a>'+
'</div>'+
'</div>';
$("#add-team .users").append(user).hide(0).fadeIn(700);
})
Upvotes: 1