猿问

为什么直到创建另一个值后才能检索动态文本值?

我使用jQuery动态创建表行,并为每个行分配一个数据ID,例如以下代码:


var education_row_counter = 0;


$("#addButton").on('click', function() {

  var row = '<tr data-id="' + education_row_counter + '" >' +

    '<td><input type="text" class="form-control" data-id="' + education_row_counter + '" name="name" id="name"></td>' +

    '<td><input type="text" class="form-control" name="department" id="department"></td>' +

    '<td><input type="text" class="form-control" name="phone" id="phone"></td>' +

    '<td>' + 'arash' + '</td>' +

    '</tr>';

  $("#eduTable").append(row);

  $("#eduTable").append('<div style="display:none"></div>');


  education_row_counter++;

});

但是,当我想使用以下命令检索data-id时 $("#eduTable :nth-child(2)").data('id'),在控制台中,它返回undefined,但是当我单击new并将另一行添加到表中时,我无法获得data-id使用相同的代码。有人可以告诉我想要的是问题吗?请


白板的微信
浏览 159回答 2
2回答

青春有我

您可以使用last()方法或:last选择器和目标,<tr>因为<tbody>浏览器可能会创建方法,而选择器和目标可能是<table>在您的方法中,您还必须nth-child(n)随着行长的变化不断进行调整$("#eduTable&nbsp;tr:last").data('id')

牛魔王的故事

我只是通过编写如下代码解决了这个问题:&nbsp;$("#eduTable tr:nth-child(n)").data('id');,(n)是表行的编号
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答