如何用输入和相同的值替换一个tr行中的每个所有div元素

时间:2015-04-27 02:09:05

标签: javascript jquery html

我想替换tr元素中存在的所有td内的每个div元素。

使用jquery .replaceWith()方法或任何其他方法

将它们全部转换为输入

我尝试按照以下方式执行此操作,但它无法正常工作

$('tr:eq(' + RowIndex + ') td div').each()
.replaceWith("<input type='text' value=" + $('tr:eq(' + RowIndex + ') td div').val() + " />");

3 个答案:

答案 0 :(得分:1)

$('tr').each(function(){
  $this=$(this).find('td > div');
  $this.each(function(){
     var gettext= $(this).text();
    $(this).html('<input type="text" value="'+gettext+'"/>');
  });
});

我认为这就是你想要的。

答案 1 :(得分:0)

$('tr').each(function(){
var getdivtext = $(this).find('td > div').text();
$(this).find('td > div').html('<input type="text" value="'+getdivtext +'"/>');
});

希望有所帮助

答案 2 :(得分:0)

我使用.clone()复制td。然后,通过使用.each(),我遍历克隆 td,进行替换:

var copiedRow = $('tr:eq(' + RowIndex + ') > td').clone();
copiedRow.find('div').each(function(){
    $('tr:eq(' + RowIndex + ') > td').html("<input type='text' value=" + $(this).text() + " />");
})