将文本附加到内部HTML

时间:2013-11-05 09:32:05

标签: javascript jquery

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

$("#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));

5 个答案:

答案 0 :(得分:5)

您可以使用前置和附加

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

答案 1 :(得分:2)

你可以这样做:

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

或根据您的建议:

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

答案 2 :(得分:2)

您可以简单地使用jQuery提供的“.append()”方法。 (Api append()

尝试:

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

答案 3 :(得分:1)

尝试这样的事情

    // 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);

答案 4 :(得分:0)

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

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

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

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

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

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