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 № 1Você 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();