2015-07-03 4 views
-4

Привет, я относился к новому JQuery ... больше используется для PHP Его просто очень просто, я думаю, но я слишком глуп, и если я честный JS трещит мой разум .... (в ООП Ive тоже многому научиться ...)JQuery создать новый объект из DOM

Так что я уже выяснил, что arent массивы arent как в PHP.

ОК позволяет начать.

Мой HTML выглядит следующим образом:

<div id="content"> 
    <ul id="ul_1"></ul> 
    <ul id="ul_2"></ul> 
    <ul id="ul_3"></ul> 
</div> 

А теперь я хочу, чтобы генерировать это из того, что в любом случае

controller = { 
    "#ul_1": 1, 
    "#ul_2": 1, 
    "#ul_3": 1 
}; 

Так, чтобы быть более точным, в момент ее жестко закодированы как пример кода над этой линией. Но я хочу, чтобы он автоматически генерировался из HTML или лучше DOM.

Я уже пробовал .map, .find и .each ... но им тоже запрещено.

Я всегда предпочитал, чтобы он делал это сразу, поэтому я не хочу, чтобы итерация была .each, если это было бы возможно. Я думаю, возможно, возможно создать новый объект из объекта $.('#content'), но в стиле, в котором он мне нужен.

Спасибо очень много вы Rycochet

ЭРВО раствора для моего случая

var controller = {}; 
$("#content > ul").each(function (i, el) { 
    controller['#' + $(el).attr('id')] = 1; 
}); 

Есть ли другое решение, тоже? Как с .map или это лучший, самый быстрый и простой способ сделать это?

+1

Я не вижу, как ключи и значения в вашем объекте относятся к HTML, который вы дали? –

+0

В вашем HTML нет такого идентификатора, как '# product',' # staff' или '# isn' ... – Justinas

+0

Правда, правда! Извините, что я изменил только половину .... Неплохо исправить это – Tuppabox

ответ

0

Полностью догадываясь здесь - но если ваши данные что-то вроде этого -

<div id="content"> 
    <ul id="ul_1"> 
     <li>isn</li> 
     <li>staff</li> 
     <li>product</li> 
    </ul> 
</div> 

Тогда вы можете сделать такой объект, -

var controller = {}; 
$("#ul_1>li").each(function(i, el) { 
    controller[$(el).text()] = 1; 
}); 

Как сказано в комментариях выше говорят - у тебя нет хотя, скорее всего, достаточно подробностей.

+0

Большое спасибо! Теперь я получил его с помощью вашего метода! – Tuppabox