javascript - 两种构建 html 的方法——.html() 和 .append()

标签 javascript jquery

在 jQuery 中,我知道我们可以使用 .html(此处为 html 代码) 替换对象的 HTML,我们还可以使用其中一种方法 (append, appendToprepend 等)以实现与 .html(...) 相同的目标。

但这两种方式有什么区别呢?

已更新

我认为我应该发布我的代码以使我的问题更清楚,请查看。

$('<a>close</a>').click(function() {
            alert("test");
        }).appendTo($('.widget-head'));

var sHtml = $('.widget-head').wrap('<p>').parent().html();
$(currentTmpContainer).html(resultHtml);

(这只是一个代码片段。我想你可以理解它。谢谢。)
最后,我发现 .click 在我的示例中不起作用。我想原因是因为我使用的是 .html() 而不是 .append()。这是对的吗?谢谢。

最佳答案

  1. 使用 .html 覆盖内容,使用 .append 将内容添加到标记的末尾。
  2. html 仅接受原始字符串,通过 append 您也可以使用 jQuery 对象。

例子:

$('#foo').html($('<input>')); //invalid!
$('#foo').append($('<input>')); //Valid!

有事件:

var $input = $('<input>').click(function(){
    alert('foo');
});

$('#foo').append($input); 

关于javascript - 两种构建 html 的方法——.html() 和 .append(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15352215/

相关文章:

javascript - 让第三级子菜单出现在 jquery 中

javascript - 单击或取消选中 chekcbox 时如何创建弹出的自定义窗口?

jquery - Opera 开发工具报告 JQuery 1.8.0(最小脚本)错误 : "Unhandled DOMException: SYNTAX_ERR"

jquery - mpg/mpeg 音频文件持续时间 jquery

javascript - 如何大写 Javascript 对象键?

javascript - 为什么我不能在 Javascript 中使用 Django 的字符串变量?

javascript - 如果子 <ul> 存在,如何向父 <li> 项添加样式?

javascript - 使用正则表达式获取 div 中的部分类名称和文本

php - 使用 Jquery 选择 SQL 表列 - SQL 注入(inject)?

jquery - 为什么图像不是 100% 以及如何使其适应浏览器?