jquery this用法

页面程序如下:<scriptsrc="jQuery-3.2.1.js"></script><style>table{background-color:#5bc0de;}t... 页面程序如下:
<script src="jQuery-3.2.1.js"></script>
<style>

table{
background-color: #5bc0de;

}
td{
width: 50px;
border: 1px solid black;
}
</style>

<table>
<tr>
<td id="test">1</td><td>2</td><td>3</td><td>4</td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td>1</td><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td>1</td><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
</table>

<div id="insert_txt" hidden="hidden">
<input id="aaa" type="text" />
<button id="confirm">确定</button>
</div>

</div>
<script>

$("table").on("click","td",function(){

var n=$(this);

$("#insert_txt").prop("hidden",false);
$("#confirm").click(function() {
var txt = $("#aaa").val();
n.html(txt);
$("#insert_txt").prop("hidden", true);
})
})
</script>
</body>
</html>

当第二次修改单元格时,不知道为什么前面的修改过的单元格也被修改了,哪位大牛给指点下该怎么做
展开
 我来答
一年孤独58aa
2017-10-23 · TA获得超过1404个赞
知道小有建树答主
回答量:592
采纳率:92%
帮助的人:438万
展开全部

问题出在按钮$('#confirm')事件重复绑定上, 将中间那段代码修改如下即可:

$("#confirm").off().on('click', function () {
   var txt = $("#aaa").val();
   n.html(txt);
   $("#insert_txt").prop("hidden", true);
});

还提供了另外一个实现办法供参考:

(function () {
    var $td;
    var inputDiv = $('#insert_txt');
    var input = $('#aaa');
    var btn = $('#confirm');
    $("table").on('click', "td", function (e) {
        $td = $(e.currentTarget);
        inputDiv.prop("hidden", false);
    });
    btn.on('click', function () {
        $td.html(input.val());
        inputDiv.prop("hidden", true);
    });
})();
侠随缘6
2021-04-03 · 贡献了超过172个回答
知道答主
回答量:172
采纳率:0%
帮助的人:7.9万
展开全部

三十三、JQuery简介+选择器

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式