我正在尝试使用迭代XML模型的简单方法构建我的DOM。
我似乎无法引用<div id='content'>
来附加我的内容。我有以下功能来创建一个面板:
function getPanelTemplate(controlData)
{
var header = $('<div/>',
{
'class' :'panel panel-heading',
'id' :'header',
'text' : $(controlData).attr('label')
}
)
var body = $('<div/>',
{
'class' :'panel panel-body',
'id' :'content'
}
)
var template = $('<div/>',
{
'class':'panel panel-default',
}
)
template.append(header)
template.append(body)
return template
}
然后我有另一个函数调用这个函数,然后我想将内容添加到'content'div:
function createCheckBox(controlData)
{
var panel = getPanelTemplate(controlData)
var checkBox = $('<input type="checkbox"/>')
//panel.content.append(checkbox)
//panel.getElementByID('content').append(checkbox)
//$(panel, '#content').append(checkbox)
return panel
}
三条注释掉的代码行都没有为我工作。有人能告诉我我做错了吗?
另外,我认为jQuery只有全局范围。我是否正确地认为我不能在引用 局部变量的函数中使用jQuery?
答案 0 :(得分:2)
首先,您调用了var checkBox
,并且您正在添加名为checkbox
的内容。所以,即使你有正确的实现,它也不会有用。
要解决您的问题,您可以这样做:
$(panel).find('#content').append(checkBox);
使用上面的代码,您需要在content
元素中查找ID为panel
的元素。