jQuery tiene nextUntil elemento
-
26-09-2019 - |
Pregunta
Tengo un montón de elementos de la siguiente manera:
<div></div>
<span></span>
<table></table>
<div></div>
<span></span>
<div></div>
Tengo que comprobar si hay o no un elemento de mesa entre los divs, y si es así hacer algo.
$('div').each(function () {
if ($(this).nextUntil('div').include('table')) {
$(this).addClass('got-a-table');
}
}
Algo como esto? Sé que no es la inclusión del método, ¿hay algo que me puede conseguir lo que necesito?
Gracias.
El resultado debe ser como la siguiente:
<div class='got-a-table'></div>
<span></span>
<table></table>
<div></div>
<span></span>
<div></div>
Editar: un jsbin para testign rápida: http://jsbin.com/aqoha/2/edit
Solución
$('div').each(function () {
if ($(this).nextUntil('div').filter('table').length > 0) {
$(this).addClass('got-a-table');
}
});
En lugar de include (), desea que el filtro ().
Otros consejos
try
$('div').each(function () {
var table = $(this).next('table');
if (table) {
if (table.next('div')){
// do something.
}
}
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow