Estoy tratando de agregar un div después de cada 4 secciones y al final si quedan algunas. Entonces se parece a esto:
<section></section>
<section></section>
<section></section>
<section></section>
<div></div>
<section></section>
<section></section>
<section></section>
<section></section>
<div></div>
<section></section>
<section></section>
<div></div>
Sé que este código lo hace después de cada 4to:
$("section:nth-child(4n)").after("<div></div>");
Pero no estoy seguro de cómo agregarlo para el resto. Pensé en agregar un sistema de conteo con un if ... No soy muy bueno en la codificación, así que agradecería cualquier explicación.
4 respuestas
También puede extender el selector para incluir el último elemento con $("section:nth-child(4n), section:last").after("<div></div>");
.
Cuente el número total de secciones, mod 4 y si hay un resto, agregue el div después de la última sección
var div = $('<div>');
var sectionsLen = $('section').length;
if(sectionsLen % 4 !== 0) {
$('#box').children().last().append(div);
}
Usando un elemento contenedor para el contexto de selección, verifique si el tipo del último elemento hijo es section
:
$("#box section:nth-child(4n)").after("<div></div>");
if ($('#box').children().last().is('section')) {
$('#box').append("<div></div>");
}
Puede verificar si hay un div después de la última sección. Si no, agregue uno nuevo. Aqui esta el codigo
$("section:nth-child(4n)").after("<div></div>");
if (!$("section:last").next().is('div')) {
$("section:last").after("<div></div>");
}
$ ("section: last") selecciona la última sección y luego el método next () selecciona el siguiente elemento y luego verifica si es un div. Si no es así, agrega un div después de la última sección. Espero que esto ayude.
Nuevas preguntas
jquery
jQuery es una biblioteca de JavaScript, considere también agregar la etiqueta de JavaScript. jQuery es una popular biblioteca JavaScript entre navegadores que facilita el recorrido del Modelo de objetos de documento (DOM), el manejo de eventos, las animaciones y las interacciones AJAX al minimizar las discrepancias entre los navegadores. Una pregunta etiquetada jQuery debe estar relacionada con jQuery, por lo que jQuery debe ser utilizada por el código en cuestión y al menos los elementos relacionados con el uso de jQuery deben estar en la pregunta.