Concat两个html元素

时间:2014-02-28 13:36:27

标签: javascript jquery

我有这段代码:

var bread =  $('<li/>').html($('<a/>',{
    href: '#',
    text: 'Alle',
    click: function(){ Diagnose.start() } 
}));
bread += $('<li/>').html($('<a/>',{
    href: '#',
    text: data['icd1'].nummer,
    click: function(){ Diagnose.icd(2,data['icd1'].id) } 
}));

$('#side-panel2 .breadcrumb').html(bread.toString());

问题在于输出不是我想要的html而是它的:

<ul class="breadcrumb" style="margin-top: 9px;margin-bottom: 0px;font-size:11px">
 [object Object][object Object]
 .....

首先我的代码看起来像这样:

$('#side-panel2 .breadcrumb').html($('<li/>').html($('<a/>',{
    href: '#',
    text: 'Alle',
    click: function(){ Diagnose.start() } 
})));                                   
$('#side-panel2 .breadcrumb').append($('<li/>').html($('<a/>',{
    href: '#',
    text: data['icd1'].nummer,
    click: function(){ Diagnose.icd(2,data['icd1'].id) } 
})));

此解决方案有效,但我想一步更改html,因为上面的代码可以看到一点延迟!感谢

2 个答案:

答案 0 :(得分:2)

你可以使用.add() - 而不是连接运算符,因为那些是jQuery对象而不是字符串

var bread =  $('<li/>').html($('<a/>',{href: '#',text: 'Alle',click: function(){Diagnose.start()} }));
bread = bread.add($('<li/>').html($('<a/>',{href: '#',text: data['icd1'].nummer,click: function(){Diagnose.icd(2,data['icd1'].id)} })));

$('#side-panel2 .breadcrumb').empty().append(bread);

答案 1 :(得分:2)

总之,一般来说:

$(".container").append( $("<a>A</a>"), $("<a>B</a>") );

看一下DEMO