如何使用jQuery将整个HTML输入文件元素替换为另一个?

时间:2013-03-29 16:41:35

标签: jquery html

如果您右键单击网页并在网络浏览器中点击“查看来源”,您会看到以下内容:

<input type="file" id="filename" name="filename" size="40/>

并且您希望将其替换为稍微修改过的版本,例如:

<input type="file" id="file_0" name="file_0" size="40/><input type=hidden name="randominput" value="somevalue">

你将如何在jQuery中执行此操作?

我尝试了以下无效的方法:

$(' <input type="file" id="filename" name="filename" size="40/>').replaceWith('<input type="file" id="file_0" name="file_0" size="40/><input type=hidden name="randominput" value="somevalue">');

2 个答案:

答案 0 :(得分:0)

你只需要这样的东西:

$("#filename").parent().html("your new html here");

您需要获取父项,因为否则您将在新项目中插入新标记。

但是让你的父母摆脱旧标签,用新标签代替它。

答案 1 :(得分:0)

尝试:

var newInput = $('<input>');
newInput
   .attr('type','file')
   .attr('id','file_0')
   .attr('name','file_0')
   .attr('size','40');

var hiddenInput = $('<input>');
hiddenInputer.attr('type','hidden')
   .attr('name','randomInput')
   .attr('value','someValue');

newInput.append(hiddenInput);
$('#filename').replaceWith(newInput);