Хорошо, я пытался использовать функцию jquery .closest(). Я провел некоторое исследование, но это, должно быть, логика, которую я не могу понять, и это заставляет меня сходить с ума. Итак, вот код, пожалуйста, помогите.Как получить jquery .closest() для работы в этой конкретной ситуации?
<div class="tablecontainer">
mvcpartial с
<div class="emptycontainer"><p>no data in table</p></div>
<div class="populatedcontainer"><table><thead><tr></tr></thead>
<tbody>
<tr>
<td><a onclick="deleteRow(this, @Model.ID)"></td>
</tr>
</tbody>
</table>
</div>
endpartial
</div>
Функция deleteRow принимает в параметре (т.е., ID). Я могу удалить строку, но у меня возникают проблемы с исчезновением div.populatedcontainer и затуханием в div.emptycontainer, когда таблица пуста. Я попытался
var $table = $(that).closest('div.tablecontainer');
$('div.populatedcontainer', $table).fadeOut('slow');
$('div.emptycontainer', $table).fadeIn('slow');
Я попытался тестирования, если селектор был в состоянии найти div.tablecontainer с
if ($table.length > 0) {
console.log("located tablecontainer");
}
но не отображаются в консоли во время отладки. Если это важно, есть несколько наборов div.tablecontainer на странице.
Я попробовал var table; (без $).
Я попробовал var $ that = $ (that);
Я попытался положить это вне «если таблица пуста логики», но она по-прежнему не работает
редактирования: по запросу Феликса Клинг
КОНЦЕРН имеет ссылку, которая вызывает следующую функцию, если щелкнул
onclick="deleteRow(this, @Model.ID)
и функция принимает параметр как
function deleteRow(that, id){
tried to do stuff like find the right div and fadeIn/fadeOut here (example attempts above)
}
Спасибо за все ответы. Особенно перспективны альтернативные методы. Мне нужно попробовать посмотреть, какие из них работают завтра, и обновить этот пост.
Где находится '' '? Пожалуйста, опубликуйте подпись функции. –
Что вы должны работать. Есть ли ошибки на консоли? –