javascript - first - jQuery Encuentre y enumere todos los elementos LI dentro de un UL dentro de un DIV especĂfico
parent jquery (4)
Tengo 3 columnas de UL, cada una de ellas un contenedor Dynamic UL que puede tener de 0 a 9 contenedores LI (eventualmente más). Todos mis elementos LI tienen un atributo "rel", que estoy tratando de encontrar ese atributo y usarlo para otra cosa en todos los elementos LI dentro de ese DIV principal. Eventualmente, quiero encontrar más en función de cada uno, pero no por eso menos nada. ¿Alguna idea de cómo puedo lograr eso con jQuery? Ejemplo:
<ul id="column1">
<li rel="1">Info</li>
<li rel="2">Info</li>
<li rel="3">Info</li>
</ul>
<ul id="column2">
<li rel="4">Info</li>
<li rel="5">Info</li>
<li rel="6">Info</li>
</ul>
<ul id="column3">
<li rel="7">Info</li>
<li rel="8">Info</li>
<li rel="9">Info</li>
</ul>
Estos elementos también son todos ordenables. Entonces, cuando obtenga una lista de ellos, también quiero mantenerlos en el orden en que se encontraron de arriba a abajo de cada columna.
He intentado encontrar (), padre () y similares, tal vez me estoy acercando mal. Pero todavía vale la pena mencionar para ayudar a llegar a una idea
¿Estás pensando en algo como esto?
$(''ul li'').each(function(i)
{
$(this).attr(''rel''); // This is your rel value
});
html
<ul class="answerList" id="oneAnswer">
<li class="answer" value="false">info1</li>
<li class="answer" value="false">info2</li>
<li class="answer" value="false">info3</li>
</ul>
Obtener índice, texto, valor js
$(''#oneAnswer li'').each(function (i) {
var index = $(this).index();
var text = $(this).text();
var value = $(this).attr(''value'');
alert(''Index is: '' + index + '' and text is '' + text + '' and Value '' + value);
});
var column1RelArray = [];
$(''#column1 li'').each(function(){
column1RelArray.push($(this).attr(''rel''));
});
o estilo fp
var column1RelArray = $(''#column1 li'').map(function(){
return $(this).attr(''rel'');
});
$(''li[rel=7]'').siblings().andSelf();
// or:
$(''li[rel=7]'').parent().children();
Ahora que agregó ese comentario que explica que desea "formar una matriz de rels por columna", debe hacer esto:
var rels = [];
$(''ul'').each(function() {
var localRels = [];
$(this).find(''li'').each(function(){
localRels.push( $(this).attr(''rel'') );
});
rels.push(localRels);
});