Как проверить, пуст ли следующий тд в тр или нет с помощью jQuery

0

У меня есть таблица с тремя столбцами. В первом столбце у меня есть кнопка, и я хочу проверить, не имеет ли второй столбец div. Я не пытаюсь это сделать с помощью jQuery.

Это мой html

<table class="customFiltersTable" id="customFiltersTable" width="100%" style="background-color: #75A1D0; padding:10px 10px 10px 10px">
   <tbody>


   </tbody>
</table>

Кнопка (выпадающее меню) динамически генерируется внутри 1-го столбца. Вот сценарий

//create a tr and 3 td inside it then append tr
var fType1 = $('<tr class="rowTableFilters" id="rowFilters'+filtersRow+'" name="rowFilters'+filtersRow+'"><td class="colFilters" id="colFilters'+column1+'" name="colFilters'+column1+'" width="480px" align="center" columnNum="'+column1+'"></td><td class="colFilters" id="colFilters'+column2+'" name="colFilters'+column2+'" width="480px" align="center" columnNum="'+column2+'"></td><td class="delButton" id="delButton" name="delButton" width="40px" align="center"><button type="button" class="btn btn-link" id="deleteFilter'+filtersRow+'" name="deleteFilter'+filtersRow+'" style="float: right;">Del</button></td></tr>');
$("#customFiltersTable").append(fType1);

// create the dropdown menu button in the 1st column along with the list (li)
var fType = $('<div class="btn-group" style="padding: 5px; width: 70%;"><button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="width: 100%;">Select Filter <span class="caret"></span></button><ul class="dropdown-menu" role="menu" style="width:100%" data-userid="'+(intIdFilters-2)+'" id="filUl'+(intIdFilters-2)+'" currData-value="-1"></ul></div>');
$("#colFilters"+(intIdFilters-2)).append(fType);
$("#filUl"+(intIdFilters-2)).append(li); // li is list already generated.

поэтому оператор if, который я использую (который не работает), является

$('#customFiltersTable').on('click', '.dropdown-menu li a', function () {
if($(this).closest('td').next('td').find('div').length){
...
}
});

Любая идея, пожалуйста?

  • 0
    что this означает в этом контексте?
  • 0
    @ArunPJohny Ой, прости !! отредактировал оператор if.
Показать ещё 2 комментария
Теги:
twitter-bootstrap-3

2 ответа

0

Я считаю, что вы можете использовать метод jQuery has() для достижения этого:

if($(this).closest('td').next('td').has("div")) {
  // It contains a <div> element
} else {
  // It doesn't contain a <div> element
}
0

Редактировать:

Ваш код выглядит хорошо. Попробуйте удалить 'td' в функции next().

    var $td = $(this).closest('td').next();
    if ($td.find('div').length > 0) { //div exists }
  • 0
    «this» на самом деле означает «.dropdown-menu li a» внутри первого тд. Я хочу проверить, есть ли другой ТД в том же TR? Благодарю.
  • 0
    @ Аноним, обновил мой ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню