Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   однотипные 'div'ы, как взять один из них (https://javascript.ru/forum/events/18650-odnotipnye-%27div%27y-kak-vzyat-odin-iz-nikh.html)

c124578 09.07.2011 23:39

однотипные 'div'ы, как взять один из них
 
Я практически не знаю JS, обходился php, есть доска объявлений, сами понимаете, много одинаковых контейнеров для текста, хочу сделать нечто вроде корзины, по клику чтобы объявления добавлялись в корзину (в таком виде, как на странице), дальше на отдельной странице либо на распечатку, либо на сохранение.
В 'div'ах прописаны только классы, я вижу решение только в добавлении id, это легко сделать.
JS учу, и выучу до какого-то уровня, но сейчас, решил спросить, может есть более экономичное, JS-вое решение?

boilroom 10.07.2011 00:32

М. Не очень уверен, что правильно понял задачу. Но в голову приходит такой код:

Хтмл:
<div class="abc_div" onClick="to_trash(this);">Text1</div>
<div class="abc_div" onClick="to_trash(this);">Text2</div>
<div class="abc_div" onClick="to_trash(this);">Text3</div>
<div id="trash" ></div>


JS:
function to_trash(obj){
document.getElementById('trash').innerHTML+='<div class="abc_div">'+obj.innerHTML+'</div>';
}


А потом передаем все содержимое div с id="trash" куда надо.

dmitriymar 10.07.2011 00:35

ужасть. положить контейнеры а в один общий и отлавливать событие-смотреть в каком из вложенных произошло.

boilroom 10.07.2011 01:06

Принимается. Я тоже в JS криволап, но видимо товарищ
dmitriymar имеет в виду нечто такое:

<div onClick="to_trash(event);">
<div class="abc_div">Text1</div>
<div class="abc_div">Text2</div>
<div class="abc_div">Text3</div>
</div>


function to_trash(obj){
e=event.target||event.srcElement; 
alert(e.innerHTML);
}

Sweet 10.07.2011 02:42

boilroom, а причем тут собственно .innerHTML??? Допустим element - то, что нужно переместить, а trash - куда. Тогда:
trash.appendChild( element );

melky 10.07.2011 02:52

в выделенном месте надо писать не event, a obj

Цитата:

Сообщение от boilroom (Сообщение 112630)
function to_trash(obj){
e=/*=>*/*!*event*/!*/*<=*/.target   ||   event.srcElement; 
alert(e.innerHTML);
}


c124578 10.07.2011 12:25

Спасибо всем, через event.target работает. В функцию передавать event надо. Мощная штука JS, однако.


Часовой пояс GMT +3, время: 13:15.