次の HTML 要素があります。
<div id="divOrderContainer">
<ul id="ulOrders">
<li id="liAck">
<div id="divViewOrderTitle"></div>
<div id="divViewOrderSpacer"></div>
<div id="divAcknowledgeItems"></div>
</li>
<li id="liTemp">
<div id="divViewOrderTitle">test</div>
<div id="divViewOrderSpacer"></div>
<div id="divTempItems"></div>
</li>
</ul>
</div>
ページの準備ができたら、ajax リクエストを実行し、応答時に次のように既存の DOM ツリーに挿入します。
htmlBuilder_Temp = htmlBuilder_Temp + '<li><table id="tableTemp">' +
'<tr>' +
'<th>Ia</th>' +
'<th>Den</th>' +
'<th>Unt</th>' +
'<th>Ory</th>' +
'<th></th>' +
'</tr>';
htmlBuilder_Temp = htmlBuilder_Temp +
'<tr>' +
'<td> a </td>' +
'<td ""> +b+ </td>' +
'<td> +c+ </td>' +
'<td> +d+ </td>' +
'<td><span id="span'+posid+'">delete<span></td>' +
'</tr>';
htmlBuilder_Ack = htmlBuilder_Ack + '</table></li>';
新しい要素の追加は「常に」成功し、
ここに私の問題があります。下のすべてのスパンにクリックハンドラーをアタッチしたかったのです
Table>tr>td>span,
クリックすると要素IDが通知されますが、クリックハンドラーがアタッチされているかどうかを確認しようとすると、何もありませんでした。
クリック ハンドラー コード:
$("#divTempItem > table > tbody > tr").('click', 'td span', function(){
alert($(this).attr("id");
});
私も試しました。
$("#tableTemp").on('click', 'tr td span', function(){
alert($(this).attr("id");
});
しかし、無駄に、探している特定のDOM要素に到達できないようです...名前「スパン」+番号にアクセスしても問題は解決しません。
私は何かが欠けていますか?
出力 DOM ツリーのビューを次に示します。末尾の終了タグを削除しましたが、これで十分だと思います...
<div id="divOrderContainer">
<ul id="ulOrders">
<li id="liAck"></li>
<li id="liTemp">
<div id="divViewOrderTitle">test</div>
<div id="divViewOrderSpacer"></div>
<div id="divTempItems">
<li>
<table id="tableTemp">
<tbody>
<tr>
<td> a </td>
<td> b </td>
<td> c </td>
<td> d </td>
<td><span id="span8">delete</span></td>
</tr>
</tbody>
</table>
とにかく、「TBODY」要素を自動的に作成したのは誰ですか?
ありがとう..