我怎样才能做到以下几点:

document.all.regTitle.innerHTML = 'Hello World';

使用jQuery哪里regTitle是我的div id?


当前回答

$("#regTitle")[0].innerHTML = 'Hello World';

其他回答

已经有答案给出了如何改变元素的内部HTML。

但是我建议,你应该使用一些像渐隐/渐隐这样的动画来改变HTML,这给了改变HTML的良好效果,而不是立即改变内部HTML。

使用动画来改变内部HTML

$('#regTitle').fadeOut(500, function() {
    $(this).html('Hello World!').fadeIn(500);
});

如果你有很多函数需要这个,那么你可以调用通用函数来改变Html内部。

function changeInnerHtml(elementPath, newText){
    $(elementPath).fadeOut(500, function() {
        $(this).html(newText).fadeIn(500);
    });
}

如果你有一个jQuery对象,你想渲染而不是现有的内容:然后只是重置内容并追加新的。

var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);

Or:

$('#regTitle').empty().append(newcontent);

只是添加一些性能见解。

几年前,我有一个项目,我们在试图将一个大的HTML / Text设置为各种HTML元素时遇到了问题。

看起来,“重新创建”元素并将其注入DOM比任何更新DOM内容的建议方法都要快得多。

比如:

Var文本= "非常大的内容"; $ (" # regTitle ") .remove (); $ (" < div id =“regTitle”>“+文字+ " < / div > ") .appendTo(“身体”); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js " > < /脚本>

应该能让你有更好的表现。我最近没有试着去衡量它(现在的浏览器应该很聪明),但是如果你在寻找性能,它可能会有帮助。

缺点是您需要做更多的工作来保持脚本中的DOM和引用指向正确的对象。

纯JS和最短

纯JS

regTitle.innerHTML = 'Hello World'

regTitle。innerHTML = 'Hello World'; < div id = " regTitle " > < / div >

最短的

$(regTitle).html('Hello World'); 

//注意:regTitle周围没有引号 $ (regTitle) . html(“Hello World”); < script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> < div id = " regTitle " > < / div >

html()函数可以接受html字符串,并有效地修改. innerhtml属性。

$('#regTitle').html('Hello World');

然而,text()函数将改变指定元素的(text)值,但保持html结构。

$('#regTitle').text('Hello world');