我在预先存在的代码中看到了以下语法。
$("#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));
答案 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)
答案 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('!');