jQuery用新的ID替换旧ID

时间:2017-03-28 11:32:04

标签: javascript jquery html

我正在尝试用新的ID替换旧ID,但此功能无效。如何解决此错误?



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="btn btn-success addfield" id="addfield" class="addfield" data-id="1">Add field</a>
&#13;
flask.send_file(filename_or_fp, mimetype=None, as_attachment=False,
                attachment_filename=None, add_etags=True,
                cache_timeout=None, conditional=False,
                last_modified=None)
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:3)

问题

var newvalue = currentvalue++;

执行此操作时,newvalue的值为1,然后只有currentvalue更改为2.

因为它是后增量。

将其更改为预增量

&#13;
&#13;
$(".addfield").click(function(){
      var currentvalue = $(this).attr('id');
      var newvalue = ++currentvalue;
      $('.addfield').attr('id', newvalue);
      alert(currentvalue);
      console.log($(".addfield"));
    })
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="btn btn-success addfield" id="1" class="addfield">Add field</a>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

由于OP更新并添加了一个新问题,我正在添加新答案。

注意:属性值为String。因此,您需要使用parseInt将其转换为int,如下所示。检查代码。

要更改数据ID,

&#13;
&#13;
$("#addfield").click(function(){
    alert(parseInt($(this).attr('data-id'))+1);
    $(this).attr('data-id', + parseInt($('#addfield').attr('data-id'))+1);
    console.log($(this));
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="btn btn-success addfield" id="addfield" class="addfield" data-id="1">Add field</a>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

问题是您在设置newValue后增加了价值。

在这一行:var newvalue = currentvalue++;它发生了两件事:

1) var newvalue = currentvalue;

2) currentvalue = currentvalue + 1

&#13;
&#13;
$(".addfield").click(function() {
  $(this).attr('data-id', +$(this).attr('data-id')+1);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="btn btn-success addfield" data-id="1" class="addfield">Add field</a>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

请检查以下代码,使用数字ID。

&#13;
&#13;
$(".addfield").click(function(){
      var currentvalue = $(this).attr('id');alert("Old Id="+currentvalue);
      var newvalue = currentvalue++;
      $('.addfield').attr('id', newvalue);
      alert("New Id="+currentvalue++);
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="addfield" id="1">Click Here</div>
&#13;
&#13;
&#13;