将文本追加到内部 HTML

Appending text to the inner HTML

本文关键字:内部 HTML 追加 文本      更新时间:2023-09-26

我在预先存在的代码中看到以下语法。

$("#offers").children().last().html(
  $("#offers").children().last().html() + "!");

有没有更流畅的方法将一些文本附加到 HTML 中?有没有更好的方法来重构以下内容?

$("#offers").children().last().html(
  "!" + $("#offers").children().last().html());

这又如何呢?

$("#offers").children().last().html(
  "!" + $("#offers").children().last().html() + "!");

我的建议如下,但我想看看是否有更整洁的东西。

var old = $("#offers").children().last().html();
var prefix = "";
var suffix = "";
$("#offers").children().last().html(suffix + old + prefix));

您可以使用 prepend 和 append

$('#offers').children().last().prepend("!");
$('#offers').children().last().append("!");

你可以这样做:

$("#offers").children().last().html(function(index, oldHtml){
    return oldHtml + '!';
});

或根据您的建议:

var prefix = "!";
var suffix = "!";
$("#offers").children().last().html(function(index, oldHtml){
    return suffix + oldHtml + prefix;
});

你可以简单地使用 jQuery 提供的 ".append()" 方法。(Api append())

尝试:

$("#offers").children().last().append("!");

尝试这样的事情

    // Simply remove one time from DOM.
     var elem = $("#offers").children().last();
     var old_html = elem.html();
     var prefix = "";
     var suffix = "";
     elem.html( suffix + old_html + prefix);

您可以使用jQuery.get()方法获取 DOM 对象并使用良好的旧innerHTML

$("#offers").children().last().get(0).innerHTML += "!";

或者您可以使用jQuery.append()

$("#offers").children().last().append('!');

在第二种情况下,使用jQuery.prepend()

$("#offers").children().last().prepend('!');