JQuery不会动态附加html元素

时间:2013-10-24 05:36:17

标签: javascript jquery html css

我正在尝试动态操作html页面中的元素,但我遇到了问题 我曾经能够追加或删除一个元素但突然之间我不能再了。
我一定是在做错事......

<div  id="multiUploaderTop"> 
    <div><input type="button" value="add more files" id="buttonAddFile1"></div>
    <div id="multiUploaderContainer">
    <div><input type="file" name="attachment"/></div>
</div>
</div>

以上是我要操纵的html片段 以下是我正在运行的jquery脚本。
我究竟做错了什么 ?

<script type="text/javascript">
$(document).ready(function(){
    alert("doc ready");
    initMultiUpload();
});

function initMultiUpload(){
    $("#buttonAddFile1").bind("click", function(){

        try{
            addNewFileRow();

        }catch(exception){
            alert(exception.message);
        }


    });
}

function addNewFileRow(){
    try{
        alert("adding new file row");
        var container = $("#multiUploadContainer");
        var div = document.createElement("div");
        var fileInput = document.createElement("input");
        $(fileInput).attr("type", "file");
        $(fileInput).attr("name", "attachment");
        $(div).append(fileInput);
        $(container).append(div);
    }catch(ex){
        alsert(ex.message);
    }
}
</script>

1 个答案:

答案 0 :(得分:3)

您的拼写错误为multiUploaderContainermultiUploadContainer

var container = $("#multiUploaderContainer");

演示:Fiddle

可以简化为

function addNewFileRow() {
    var container = $("#multiUploaderContainer");
    var div = $('<div />');
    var fileInput = $('<input />', {
        type: 'file',
        name: 'attachment'
    }).appendTo(div);
    container.append(div);
}

演示:Fiddle