使用java脚本或jQuery通过HTML输入标记替换HTML按钮

时间:2017-11-03 12:59:26

标签: javascript jquery html

我在表格中具有唯一ID的所有行的第一列中有 HTML按钮。我想用ajax的成功替换输入标签的特定id的按钮。

<td>
    <button class="btn btn-success" id="1" type="button">Verify</button>
</td>

从ajax成功,我想替换下面的id 1的td中的按钮

<input type='text' name='someName' value='some value from ajax response'>

我尝试使用替换但未使用

var html = '<input type="text" name="someName" value="some value from ajax response">';

var parent = document.getElementById(1).parentNode;

parent.innerHTML=parent.replaceChild(html,parent.childNodes[0]);

4 个答案:

答案 0 :(得分:1)

一个简单的解决方案是设置HTML

var html = '<input type="text" name="someName" value="some value from ajax response">';
var parent = document.getElementById('1').parentNode;
parent.innerHTML = html;
<table>
  <td>
    <button class="btn btn-success" id="1" type="button">Verify</button>
  </td>
</table>

答案 1 :(得分:0)

对于此示例,您可以使用parent.innerHTML = html

replaceChild接受一个节点,而不是一个html字符串。所以为了更接近你原来的想法,你可以做到

 node = document.createElement("input");
 node.id = ...; // set other properties
 parent.replaceChild(node, parent.firstElementChild);

答案 2 :(得分:0)

您可以使用jQuery.fn.replaceWith()

var html = '<input type="text" name="someName" value="some value from ajax response">';

$("#1").replaceWith(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-success" id="1" type="button">Verify</button>

答案 3 :(得分:-1)

您可以使用条件语句来解决此问题。

(Your Condition) ? <button class="btn btn-success" id="1" type="button">Verify</button> : <input type='text' name='someName' value='some value from ajax response'>