7

我正在尝试将 HTML 片段动态附加到现有的元素中.append

不知何故,脚本创建的 HTML 字符串没有附加到元素中。

在附加代码片段时,附加到的元素不会挂接到 DOM。

所有这些都封装在一个 JavaScript 函数中。这是代码:

append_content = function() {
    var elem = $('<li><div>some text</div></li>');
    var somecontent = get_content();  // returns a string: '<div>xx</div>'
    elem.append('<div>bleh1</div>');
    elem.append(somecontent);
    elem.append('<div>bleh2</div>');
    console.log(elem);
    return elem;
}

日志正确包含所有项目,例如:

<li>
    <div>some text</div>
    <div>bleh1</div>
    <div>xx</div>
    <div>bleh2</div>
</li>

但是当我稍后将 elem 连接到 DOM 时,函数调用的内容就消失了。即它在计算源中不可见(在 FireBug 和 Chrome 开发工具中都不可见)。

它看起来像这样:

<li>
    <div>some text</div>
    <div>bleh1</div>
    <div>bleh2</div>
</li>

我几乎确信我在这里遇到了一些范围问题或类似的问题,但我不明白。控制台中没有错误消息。有什么建议吗?

更新

的确,这是一个自制的问题。删除示例代码以在此处发布让我意识到我调用了一个类似的函数,而没有上面提到的函数调用 - 愚蠢的我。感谢所有的评论和帮助。

4

1 回答 1

2

它看起来对我来说是正确的——我会检查 get_content() 方法的输出,以确保它实际上返回了有效的 html。使用 alert("somecontent") 和控制台检查它-console.log 仅在 firebug 中写出 XML 的第一行-不确定 chrome ...

于 2012-05-01T10:17:26.853 回答