9

我想自定义文件输入按钮,所以我使用这段代码来创建一个文件输入元素

function inputBtn(){
    var input=document.createElement('input');
    input.type="file";
    setTimeout(function(){
        $(input).click();
    },200);
}

<button id="ifile" onclick="inputBtn()">create</button>

但是,当我单击创建时,它什么也没显示。

4

1 回答 1

11

您正在创建新的 DOM 元素,但并未将其附加到 DOM。你需要类似的东西:

document.getElementById('target_div').appendChild(input);

你可以在这里看到它在一个做得不好的 JSFiddle 中是如何工作的:http: //jsfiddle.net/JQHPV/2/

于 2012-05-17T21:54:29.387 回答