Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   function pomogiteDuraku() (https://javascript.ru/forum/events/27254-function-pomogiteduraku.html)

w46823 06.04.2012 22:56

function pomogiteDuraku()
 
Кликаем на элемент "test" и его значение возвращается в <div id="test2"></div>. Помогите, как это сделать?


<html>
<head>
<title>Test</title>
</head>

<body>

<div id="test">Str 1</div>
<div id="test">Str 2</div>
<div id="test">Str 3</div>
// ...
<div id="test">Str n-1</div>

<div id="test2"></div>

</body>
</html>


var testnew=document.getElementById('test').onclick=pomogiteDuraku();

function pomogiteDuraku(){
     getElementById('test2').innerHTML(this(test));
    }

Раед 06.04.2012 23:25

arra = document.getElementsByTagName('div');//getElementById возвращает тока первый элемент =>не подходит
for(var i=0;i<arra.length;i++) if (arra[i].id=='test') arra[i].onclick=pomogiteDuraku;//без скобок
function pomogiteDuraku(){
 *!*document*/!*.getElementById('test2').innerHTML = this.innerHTML;
}

w46823 06.04.2012 23:28

Блин, пропустил document.

Спасибо огромное за ответ, только оно в вашем варианте функция возвращает только значение первого элемента, а она должна возвращать значение любого элемента.

T-sh 07.04.2012 00:28

id должен быть уникален. нельзя использовать один id у нескольких элементов на странице.

w46823 07.04.2012 00:58

Как тогда быть, если у меня сотня (или даже больше) элементов? Для каждого создавать в скрипте переменную, которая будет реагировать на элемент, или можно как-то с индексами? Такой вариант слишком длинный.
var test1{
     name="Имя 1";
     surname="Фамилия 1";
     }
//...
var testn-1{
     name="Имя n-1";
     surname="Фамилия n-1";
     }
test1.onclick=document.getElementById("testname").innerHTML=test1.name && document.getElementById("testsurname").innerHTML=test1.surname;

testn-1.onclick=document.getElementById("testname").innerHTML=testn-1.name && document.getElementById("testsurname").innerHTML=testn-1.surname;

<div id="test1">Test 1</div>
<div id="testn-1">Test n-1</div>
<div id="testname"></div>
<div id="testsurname"></div>

T-sh 07.04.2012 01:03

1. классы (getElementsByClassName)
2. атрибуты data-id (getElementsByTagName('div') +getAttribute('data-id') )


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