2016-08-27 3 views
2

Я создал таблицу HTML с помощью jQuery, и я бы хотел сделать клик по первой ссылке во второй строке. Сгенерированный HTML выглядит следующим образомjQuery нажмите на динамически добавленный элемент

<tr><td>4</td><td>text</td></tr> 
<tr id="xrow22" class="xrow"><td colspan="2"><a>0</a><a>1</a></td></tr> 

Регулируя щелчки функция работает хорошо, когда я нажимаю на строку, используя мышь

$('table').on('click', '[id^=xrow] a', function(){ ... 

Когда я пытаюсь вызвать эту функцию из другого, это не Работа. Я использовал предупреждение, чтобы увидеть некоторые значения и удивительно ниже предупреждения коды (второе значение должно быть равно 0)

<a>0</a><a>1</a>,,[object Object] 

Код:.

$('table').on('click', 'tr:not(.xrow)', function(e){ 
    $(this).next().children('td:first-child a:first-child').click(); 
    alert($(this).next().children('td:first-child').html() +','+ $(this).next().children('td:first-child a:first-child').text() +','+ $(this).next().children('td:first-child a:first-child')); 
}); 

ответ

0

Когда я использую $(this).next().children('td:first-child').children('a:first-child').text(); Я получаю ожидаемый результат.

0

Вместо $() на функции(), вы можете использовать функция $(). live(). В основном, когда вы создаете новый элемент, jquery не перезапускает и не присоединяет клик даже к нему. http://api.jquery.com/live/

+0

Когда я меняю его в одном или обоих местах, код полностью перестает работать – Jord123

Смежные вопросы