如何使用jquery更新HTML表格单元格

时间:2013-07-22 11:14:18

标签: javascript jquery html

您能告诉我如何使用jquery更新单元格吗?

<table id='lop'>
    <thead id='loph'>
        <tr>
            <td class='type'>Type</td>
            <td class='name'>Name</td>
        </tr>
    </thead>
    <tbody id='lopb'>
        <tr id='1'>
            <td class='type'>W</td>
            <td class='name'>ZZZ</td> 
        <tr>
        <tr id='2'>
            <td class='type'>W</td>
            <td class='name'>YYY</td> 
        <tr>        
    </tbody>
</table>

我想从YYY将第二行名称更新为XXX 请,答案应该基于html中使用的id和类名,而不是基于使用jquery时的数字/顺序。

以下解决方案也无效,

$('#lop #2 .name').html('XXX')  //Working

的情况

var rowID = '#2';
$('#lop rowID .name').html('XXX') //Not Working

8 个答案:

答案 0 :(得分:4)

尝试使用html method更新代码的代码:

$('#lop #2 .name').html('XXX')

你可以看看这个小提琴:http://jsfiddle.net/cWQRY/

如果您想使用变量,可以尝试以下代码:

var rowID = '#2';
$('#lop '+rowID+' .name').html('XXX')

答案 1 :(得分:2)

请确保您不使用整数作为ID使用字符串..

 <tr id='id2'>

为什么:

1)违反了W3C规范。

2)这对SEO不利。

3)可能存在服务器端脚本问题

jquery的

$('#id2 .name').text('XXX')

答案 2 :(得分:0)

试试这个:

$('#2 .name).text('XXX');

答案 3 :(得分:0)

$('#2 .name').html('XXX');

检查js小提琴:http://jsfiddle.net/Xyn9e/7/

答案 4 :(得分:0)

Try this:

* {
    font-family:Consolas
}

.editableTable {
    border:solid 1px;
    width:100%
}

.editableTable td {
    border:solid 1px;
}

.editableTable .cellEditing {
    padding: 0;
}

.editableTable .cellEditing input[type=text]{
    width:100%;
    border:0;
    background-color:rgb(255,253,210); 
}

Example: http://mrbool.com/how-to-create-an-editable-html-table-with-jquery/27425

答案 5 :(得分:0)

在表格中,使用每个tr和td中的ID不是一个好的做法,你可以使用索引。

$('#lopb tr').filter(':eq(1) td.name').text('XXX');

答案 6 :(得分:0)

 $('#lop').each(function(){
                var $row = $(this).parents('tr');                  
                alert($row.find('td:eq(0)').html());
                alert($row.find('td:eq(1)').html());
            });

答案 7 :(得分:0)

请指定何时执行更改单元格数据的操作。

如需更改,请尝试

$('#2 .name').html('XXX') 

由于 Manikandan