【发布时间】:2015-10-12 12:22:04
【问题描述】:
我正在尝试为我的模式创建一个 HTML 模板。我试图向模板添加内容,但是当我返回内容值时,它会在模态正文中打印
NaN,而且我似乎无法使用content.0访问该对象;在“getContent”函数中,我打算在内容变量中附加依赖于服务器响应的特定 HTML 元素。这是实现这一目标的最佳方法吗?
Jquery/Javascript:
function getMessageTemplate(message, instance)
{
var content = getContent(message);
var body =
'<div class="modal-body msg-body">'+
+ content +
'</div>';
//more template code....
}
function getContent(message)
{
var content = $('<div id="selections">');
content.append('<div>message.stuff</div>');
console.log(content)
return content.0;
}
检查员:
<div class="modal-body msg-body">NaN</div>
控制台:
Object { 0: <div#selections>, length: 1 }
--[更新]--
好的,我使用[0].outerHtml 完成了以下两个建议似乎对 jquery 对象工作得很好,但后来当我引用 body 来创建最终模板时,我不得不再次使用它。
但是每次我想引用已附加的内容时,我真的需要使用它吗?有没有办法在不使其成为 jq-object 的情况下附加字符串?
var content = getContent(message);
var body = $('<div class="modal-body msg-body"></div>').append(content);
function getContent(message)
{
var $content = $('<div id="selections"></div>');
$content.append('<div>message</div>');
return $content[0].outerHTML;
}
【问题讨论】:
-
content.0是问题所在。你希望它做什么? -
return content[0].outerHTML; -
只希望它返回字符串''message.stuff