Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обратиться к массиву по имени id (https://javascript.ru/forum/misc/36597-obratitsya-k-massivu-po-imeni-id.html)

фонарик 21.03.2013 05:05

Обратиться к массиву по имени id
 
Доброго времени суток. Мозг завис от непонимания какой-то элементарной вещи. Подскажите в чем проблема. Нужно по клику на див блок обратиться к массиву с одноименным названием по id. Помогите вывести в алерт, я никак не могу допереть что нужно сделать с текстом этого id чтобы всё работало.

<style type="text/css">
#wood, #stone, #food {width:50px; height:22px; border:1px solid red; background: #999999; position:absolute; ; top: 21px; cursor:pointer; text-align:center}
#wood{left: 50px}
#stone{left: 120px;}
#food{left: 190px;}
</style>
<body>

<script>
var wood  = ["raz","dva","tri"]
var stone = ["kamen","brick","kirpich"]
var food  = ["eda","milk","voda"]
</script>

<script>
function getMassiv(elem){
var data = elem.id
alert(data)
}
</script>

<div id="wood"  onclick="getMassiv(this)">wood</div>
<div id="stone" onclick="getMassiv(this)">stone</div>
<div id="food"  onclick="getMassiv(this)">food</div>

danik.js 21.03.2013 06:47

window[data]. Но удобнее запихать все в отдельный объект.

<style type="text/css">
#wood, #stone, #food {width:50px; height:22px; border:1px solid red; background: #999999; position:absolute; ; top: 21px; cursor:pointer; text-align:center}
#wood{left: 50px}
#stone{left: 120px;}
#food{left: 190px;}
</style>
<body>
 
<script>
var arrays = {
    wood  : ["raz","dva","tri"],
    stone : ["kamen","brick","kirpich"],
    food  : ["eda","milk","voda"]
}
</script>
 
<script>
function getMassiv(elem){
    var data = elem.id
    alert(arrays[data])
}
</script>
 
<div id="wood"  onclick="getMassiv(this)">wood</div>
<div id="stone" onclick="getMassiv(this)">stone</div>
<div id="food"  onclick="getMassiv(this)">food</div>

фонарик 21.03.2013 06:53

danik.js, доброе утро вам и спасибо за помощь :)


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