在Html返回函数上更改元素

时间:2015-08-21 01:57:15

标签: javascript jquery

例如:我有像这样的HTML

<div class="time_wrapper">
  <input type="text" value="3:00 PM" id="time"/>
</div>
<button id="add">Add More</button>

on javascript:

$(document).on("click", "#add", function(){
    var clone = $("#time_wrapper").html();       
    // Do something to change clone value
      $(".time_wrapper").append(clone);
});

我想要做的是将克隆元素的值更改为4:00 PM而不影响原始值

4 个答案:

答案 0 :(得分:1)

$(document).on("click", "#add", function(){
    var clone = $("#time").clone();       
    // Do something to change clone value
    $(clone).val('4:00 PM');
      $(".time_wrapper").append(clone);
});
<div class="time_wrapper">
  <input type="text" value="3:00 PM" id="time"/>
</div>
<button id="add">Add More</button>

答案 1 :(得分:1)

试试这个

$(document).on("click", "#add", function(){

    var clone = $("#time").clone();
    clone.removeAttr("id");
    clone.val("4:00 PM");
    // Do something to change clone value
      $(".time_wrapper").append(clone);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="time_wrapper">
  <input type="text" value="3:00 PM" id="time"/>
</div>
<button id="add">Add More</button>

答案 2 :(得分:1)

你可以试试这个:

$("#add").click( function(){
    var clone = $("#time").clone();       
    // below you can read actual value and increment
    $(clone).val('4:00 PM');
      $(".time_wrapper").append(clone);
});

答案 3 :(得分:0)

不确定这是否适合您,但我会创建一个新元素并附加它,而不是尝试克隆现有元素并更新它的属性。

$(".time_wrapper").append('<br/><input type="text" value="4:00 PM" />');

我删除了ID,因为您不需要它并添加换行符以将您的输入放在页面的下一行。