我试图动态地将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;
}
Run Code Online (Sandbox Code Playgroud)
日志正确包含所有项目,如:
<li>
<div>some text</div>
<div>bleh1</div>
<div>xx</div>
<div>bleh2</div>
</li>
Run Code Online (Sandbox Code Playgroud)
但是当我稍后将elem挂钩到DOM时,函数调用的内容就消失了.即它在计算源中不可见(在FireBug和Chrome开发工具中都不可见).
它看起来像这样:
<li>
<div>some text</div>
<div>bleh1</div>
<div>bleh2</div>
</li>
Run Code Online (Sandbox Code Playgroud)
我几乎确信我有一些范围问题或类似的问题,但我不明白.控制台中没有错误消息.有什么建议?
实际上,这是一个自制的问题.Striipng下来的测试代码发布在这里让我意识到我在上面提到的函数调用中调用了一个类似的函数 - 傻我.感谢所有的评论和帮助.