Я хотел бы вызвать событие щелчка, когда на него нажимается конкретный элемент. Элементы пролетных фактически кнопки, которые находятся на вершине таблицы:JQuery не набирает элемент .class DOM
следующие работы:
$("th > span").click(function() {
alert('hi');
});
Следующая не работает:
$("th.sorting > span").click(function() {
alert('hi');
});
класс го элемента изменяется от сортировка в sorting_asc или sorting_desc, и я хотел бы вызвать конкретное событие в зависимости от того, на какой тип кнопки нажата.
UPDATE:
Интересно при просмотре источника я вижу только следующее:
<th><span class = 'btn' style = 'width:90%'>Image<span id='i'></span></span></th>
... но когда я инспектировать элемент "через поджигатель я вижу:
<th class="sorting" role="columnheader" tabindex="0" aria-controls="dispensers" rowspan="1" colspan="1" style="width: 187px; " aria-label="Image: activate to sort column ascending"><span class="btn" style="width:90%">Image<span id="i"></span></span></th>
Я подозреваю, что это не корень моей проблемы, хотя .. поскольку я предполагаю, что JQuery знает код последнего элемента.
(The JQuery плагин 'DataTables' отвечает за изменения кода)
UPDATE:
Окончательный код:
$('th').on('click', '.sorting > span', function() {
$("span#i").html('');
jQuery("span#i", this).html(' <i class=\"icon-chevron-up\"></i>');
});
$('th').on('click', '.sorting_asc > span', function() {
$("span#i").html('');
jQuery("span#i", this).html(' <i class=\"icon-chevron-down\"></i>');
});
$('th').on('click', '.sorting_desc > span', function() {
$("span#i").html('');
jQuery("span#i", this).html(' <i class=\"icon-chevron-up\"></i>');
});
Внешний вид:
Учтите, чтобы поделиться с html? –
отправьте свой HTML –
Он работает в JSFiddle: http://jsfiddle.net/ZPCeK/ – Chinmaya003