Jquery:我如何更改网格单元格中特定div的内容?

时间:2011-04-07 08:31:34

标签: jquery

目前我正在使用它来修改特定“列/单元格”的“html”,方法是在特定的“行”处找到“网格”的“td”。

$("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ")").find('td').eq(26).html("HTMLHERE");

在完成之后,我如何[(a)访问,(b)修改其中特定“行”和“列”中“网格”的单个“div1 / div2”内容? RowNumber = 2,column = 26

<td>
<div class="myclass">
      <div id="div1">Access content</div>
      <div id="div2">Add/Modify content</div>
</div>
<td>

感谢所有人的回答。我最喜欢的只有一行。

$("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ")").find('td').eq(26).find('#div1').html('stuffhere');

4 个答案:

答案 0 :(得分:1)

试试这个

var td = $("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ")").find('td').eq(26);
td.html("HTMLHERE");
$("#div1", td).html("foo");
$("#div2", td).html("bar");

答案 1 :(得分:0)

不要乱用4.第26行。这是一个糟糕的开发实践。相反,您应该为精确列提供一个id或类,然后使用jQuery选择它并执行您想要执行的操作。比如

var col = $('#row4column26'); // this will select you 26th column at 4th row 
col.find('#div1').html('HTMLHERE'); // select the div1 in the column and change its content
col.find(('#div2').html('HTMLHERE'); // the same for div2

答案 2 :(得分:0)

当你的元素在指定的索引处时:

$("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ")").find('td').eq(26)

您可以使用this访问内部内容。像这样:

$("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ")").find('td').eq(26).each(function()
{
    $(this).html("HTMLHERE");
    $('#div1',this).doSomething();
});

甚至可以让自己的选择器缩短一点:

$("#VGrid1_MainGrid tr:nth-child(" + iRowNumberGrid + ") td").eq(26).each(function()
{
    $(this).html("HTMLHERE");
    $(this).find('#div1').doSomething();
}

答案 3 :(得分:0)

如果你已经找到了div所在的列(你的代码在上面),你可以在列的jQuery对象上使用.find('#div1')来检索div并用.html修改它(' stuffhere')