HTML を次のように更新します: <td id="ElementX1X1" class="my_msg" >...
編集済み - 壊れたフレームワークを回避するには:
<tr>
<td class="my_msg" align="left">
<id="ElementX1X1">
some content
</td>
<td class="my_msg" align="left">
<id="ElementX1X2">
some content
</td>
</tr>
行 1 列 2 を見つけたい場合は、要素の内容を検査するために少し jQuery を使用してごまかすことができます。
var row = 1;
var column = 2;
var matched = null;
$(".my_msg").each({
if($(this).html().indexOf('<id="ElementX' + row + 'X' + column + '">')!=-1){
matched = $(this);
}
});
Matched は、探している要素または null を指しますが、セルの行と列の ID が既にわかっている場合は、DOM をたどってみませんか?
var row = 1;
var column = 2;
var matched = null;
var table = document.getElementsByTagName("TABLE")[0]; // up to you how your find it
try {
matched = table.getElementsByTagName("TR")[row-1].getElementsByTagName("TD")[column-1];
}
catch(err) {
// not found
}
または力ずくの方法 (つまり、フレームワークの出力を修正する):
var table = $("#tableid"); // up to you how your find it
table.html(table.html().replace(/">\n<id="/g,'" id="'));
あなたのコードは次のとおりです。
<tr>
<td class="my_msg" align="left" id="ElementX1X1">…</td>
<td class="my_msg" align="left" id="ElementX1X2">…</td>
…
あなたが使用できるように
$("#ElementX2X1");
最初の行、2 番目の列を選択するには
どちらも特にエレガントではありませんが、バグのあるフレームワークが修正されるのを待っている間に仕事を終わらせる必要があります;)