/ / jQuery - você pode sobre cada par de elementos html? Como todo <h3></h3><div> </div>? - jquery

jQuery - Você pode sobre cada par de elementos html? Como todo <h3> </ h3> <div> </ div>? - jquery

Eu tenho um jquery Accordian que gostaria de fazer um loop para obter os dados deles.

O formato é:

<h3>Title</h3>
<div><textarea>Description</textarea></div>

Posso fazer um loop em cada par para pegar o nome e a descrição? Prefiro não envolvê-los em outro div, se não for necessário.

Obrigado.

Respostas:

1 para resposta № 1

Você pode fazer:

$("h3").each(function() {
console.log($(this).text()); <--- Your title text
console.log($(this).next("div").children("textarea").text()); <--- description
});

Demonstração: http://jsfiddle.net/bC5Mk/


1 para resposta № 2

Tente o código abaixo se sua estrutura for sempre h3 e depois um div,

var items = [];
$("h3").each (function () {
items.push({
"Name": $(this).text(),
"Description" : $(this).next().text()
});
})

1 para resposta № 3

Você poderia fazer isso:

var things = $("h3").map(function(){ return {
name: $(this).text(),
description: $(this).next("div").find("textarea").val()
}}).get();

Demonstração