使用jQuery创建两个HTML元素并将其嵌套在另一个中

时间:2012-04-15 16:21:47

标签: jquery html twitter-bootstrap

我正在尝试编写一个脚本,通过简单地将选项传递给不同的函数来生成Twitter Bootstrap样式元素。在这个例子中,我正在生成一个提交按钮。

jQuery似乎允许渲染一个元素,但是如此嵌套它们会失败。

这种方法还有其他选择吗?

function renderButton(buttonText, buttonType, buttonName){
    if(buttonType == 'submit'){
        var $button = $('<input/>', {
            'type'  : 'submit',
            'name'  : buttonName,
            'value' : buttonText,
            'class' : 'btn submit'
        });
    }
    var $form_actions = $('<div/>', {
        'class' : 'form-actions',
        'text'  : $button
    });

    return $form_actions;   
};

renderButton('Go!', 'submit', 'buttonGo').insertAfter('#a');

1 个答案:

答案 0 :(得分:1)

当你在这里做到时:

var $form_actions = $('<div/>', {
    'class' : 'form-actions',
    'text'  : $button
});

return $form_actions;  

$ button包含一个jQuery元素(不只是一堆HTML)。将它直接指定为text是行不通的,但你可以这样添加它:

var $form_actions = $('<div/>', {
    'class' : 'form-actions'
});

$form_actions.append($button);

return $form_actions;