У меня есть следующая таблица, которая создается динамически с использованием функции onload в начале.
<div id="first">
<table class="joma" id="joma">
<tbody>
<tr>
<th>Id</th>
<th>V No</th>
<th>Biboron</th>
<th>Taka</th>
</tr>
<tr><td class="rid">1</td><td>sss</td><td>222</td><td class="cv">4</td></tr>
<tr><td class="rid">2</td><td>xxx</td><td>2333</td><td class="cv">4</td></tr>
</tbody>
</table>
</div>
Теперь мне нужно будет нажать <td class="rid">
который должен дать соответствующее значение. в этом случае 1 или 2.
Как мне это сделать?
Я использовал следующие методы
$(document).ready(function() {
$('.rid').click(function() {
alert(this);
});
});
$('.rid').click(function() {
alert(this);
});
Я ничего не получаю от этого.
Использовать .on()
$(document).on('click','.rid',function() {
alert("this");
});
при загрузке страницы DOM создается .rid
не является частью страницы.
Таким образом, вы не можете получить к ним доступ напрямую, вам нужно использовать event delegation
Использование делегирования событий:
$(document).on('click', '.rid', function() {
alert("this");
});
.rid
не существует при загрузке страницы, поэтому привяжите его к существующему элементу (обычно к контейнеру, где вы добавляете содержимое, но так как я его не видел, document
- безопасная ставка).
<tbody>
в качестве контейнера?
tbody
будет загружен динамически.
$(document).ready(function() {
$('.rid').click(function() {
alert($(this).html());
});
});
скрипка: http://jsfiddle.net/yraQS/