切换元素类型但保持相同的ID

Rey*_*rPM 0 javascript jquery

我需要动态更改元素类型,下面是我正在做的事情:

$(function() {
  $('.click_me').click(function(ev) {
    var condition_value_1 = $('#condition_value_1');
    var select_html = '<select name="condition_value_1" id="condition_value_1"></select>';
    condition_value_1.after().html(select_html);
    condition_value_1.remove();
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<input type="text" id="condition_value_1">
<span class="click_me">Click Me</span>
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中看到的更改类型后,我应该删除前一个元素,但因为它们共享(并且这是必需的)相同的ID,所以新的SELECT将被删除.有什么方法可以避免这种情况吗?

Kei*_*ith 5

如果要替换,可以使用replaceWith ..

$(function() {
  $('.click_me').click(function(ev) {
    var condition_value_1 = $('#condition_value_1');
    var select_html = '<select name="condition_value_1" id="condition_value_1"></select>';
    condition_value_1.replaceWith(select_html);
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<input type="text" id="condition_value_1">
<span class="click_me">Click Me</span>
Run Code Online (Sandbox Code Playgroud)