Собрать массив из элементов 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, время: 15:04. |