Собрать массив из элементов DOM
Помогите, пожалуйста, понять, что не так с кодом. Я что-то где-то упускаю в самой логике Javascript скорее всего.
Задача пройтись по DOM, собрать содержание <p> и класс <p> в div'ах с классом editable. И разложить это в ассоциотивный массив класс=>тект, и все это отправить потом на сервер с помощью ajax Но раскладываться оно не хочет - вместо всех строк я получаю массив заполненный одной и той же информацией (с последнего прохода) в количестве тэгов <p> Код: var i=0; $('.editable p').each(function(){ var type=$(this).attr('class'); var text=$(this).html(); content[type]=text; paragraphs[i]=content; i++; }) |
Fairy-Wilbury, ты хоть бы пример тестовый сделал... На чем показывать-то?
|
|
Fairy-Wilbury,
:write:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function()
{
$('.saveContent').click(function(event){
event.preventDefault();
var paragraphs = {}, content, i = 0, s;
$('.editable p').each(function(){
content={};
var type=$(this).attr('class');
var text=$(this).html();
content[type]=text;
paragraphs[i]=content;
i++;
})
paragraphs.count = i ;
for (i=0;i<paragraphs.count;i++){
content = paragraphs[i];
for(s in content){
alert ("p" + i + " " + s + " : " + content[s]);
}
}
});
}
)
</script>
</head>
<body>
<p class="saveContent"><a href='#'>save</a></p>
<div class='editable'><p class='Heading'>Some text0</p><p class='Character'>Some text1</p><p class='Heading'>Some text2</p></div>
<div class='editable'><p class='Heading'>Some text3</p><p class='Character'>Some text4</p><p class='Heading'>Some text7</p></div>
</body>
</html>
|
рони,
Спасибо большое! Все работает. = ) Сорри, что так долго не отвечала - была в отъезде. А не подскажите, где бы почитать о том, почему оно так работает, а то логика не слишком понятно, почему присваевается i paragraph.count'у и почему надо пройтись по content и присвоить ему paragraphs[i]?... |
| Часовой пояс GMT +3, время: 09:19. |