関数ができるだけ早くページにアクセスするのに問題があるので、純粋なJavaScriptで記述して、ヘッドに含める必要があります。私が理解しているように、.replace()を使用すると、新しい要素がページ上の別の場所に移動されるため、どうすればよいかわかりません。jQueryのreplaceWith()の動作は理想的です。
$("#imagefiles").replaceWith("<input type='file' name='imagefiles' id='imagefiles' />");