将表格中的文本移动到最近的文本输入?

时间:2014-06-11 15:33:11

标签: javascript jquery append css-selectors closest

我有一个动态构建的表,我需要在文本输入中的第2列中的文本。一旦该td的文本在文本输入中,删除输入之外的额外文本。 http://jsfiddle.net/NNpCB/

HTML

<table border='1' cellpadding='15'>
    <tr>
        <td>text</td>
        <td>text2</td>
        <td>text3</td>
    </tr>
    <tr>
        <td>text4</td>
        <td>text5</td>
        <td>text6</td>
    </tr>
</table>

的jQuery

valueCol = $("table#ruleTable tr td:nth-child(2)")
text = $(this).find().closest('td').text()

valueCol.append('<input type="text" value="' + text + '" />'); // add inputs with closest value
valueCol.text(''); // clear plain text from td once in inputs

1 个答案:

答案 0 :(得分:1)

选中 Demo Fiddle

var valueCol = $("table#ruleTable tr td:nth-child(2)");
valueCol.html(function () {
    return '<input value="' + $(this).text() + '"/>';

});

您也可以使用.append(),但附加和清除文字是不必要的任务。