Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2013, 07:51
Аватар для Fairy-Wilbury
Интересующийся
Отправить личное сообщение для Fairy-Wilbury Посмотреть профиль Найти все сообщения от Fairy-Wilbury
 
Регистрация: 01.09.2013
Сообщений: 12

Собрать массив из элементов 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++;
})
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2013, 10:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Fairy-Wilbury, ты хоть бы пример тестовый сделал... На чем показывать-то?
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2013, 16:30
Аватар для Fairy-Wilbury
Интересующийся
Отправить личное сообщение для Fairy-Wilbury Посмотреть профиль Найти все сообщения от Fairy-Wilbury
 
Регистрация: 01.09.2013
Сообщений: 12

ksa,
Так подойдет?
http://jsfiddle.net/ArrFV/8/
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2013, 18:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Fairy-Wilbury,

<!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>
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2013, 17:30
Аватар для Fairy-Wilbury
Интересующийся
Отправить личное сообщение для Fairy-Wilbury Посмотреть профиль Найти все сообщения от Fairy-Wilbury
 
Регистрация: 01.09.2013
Сообщений: 12

рони,
Спасибо большое! Все работает. = ) Сорри, что так долго не отвечала - была в отъезде.

А не подскажите, где бы почитать о том, почему оно так работает, а то логика не слишком понятно, почему присваевается i paragraph.count'у и почему надо пройтись по content и присвоить ему paragraphs[i]?...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить и вернуть массив из удаленных элементов splice Paulyyy Общие вопросы Javascript 15 29.05.2013 15:36
Упорядочить заданный числовой массив X (M) в порядке убывания значений его элементов rjabijj Общие вопросы Javascript 6 06.07.2012 21:34
Упорядочить заданный числовой массив X (M) в порядке убывания значений его элементов. Drimmer Серверные языки и технологии 0 02.07.2012 18:22
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50