在原生DOM搜索中,我可以这样做:
document.getElementById('id').innerHTML+= "text";
在今天的jQuery中,我必须这样做:
$("#id").html($("#id").html()+"text");
(显然我应该缓存元素,但这不是重点。)
所以我想知道jQuery是否有+ =快捷方式。
答案 0 :(得分:3)
如果你想在最后添加一大块HTML,你会说:
$('#id').append( "<p>whatever</p>" );
如果你想添加纯文本(如上所述),或者像那样看起来像的文本,但不应该这样解释:
$('#id').append( document.createTextNode( "text" ) );
答案 1 :(得分:1)
您可以使用 append()
:$("#id").append('text');
答案 2 :(得分:0)
尝试
$("#id").html(function(i, o) {
return o + "text";
});
答案 3 :(得分:0)
如果您想要易用性(有时是最重要的因素),请使用.append()
。
如果您想获得最佳效果,请使用.innerHTML
或jQuery .html()
,或者至少只调用.append()
一次。
从this benchmark可以看出,多次调用.append()
非常非常昂贵。准备要添加到变量中的内容然后一次追加/添加该变量要快得多。