Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   траблы с несколькими document.getElementById (https://javascript.ru/forum/misc/5816-trably-s-neskolkimi-document-getelementbyid.html)

getElementById 03.11.2009 21:38

траблы с несколькими document.getElementById
 
Извиняюсь, может не особо велика проблема, но я пока что ещё плохо знаю JavaScript и прошу помощи разобраться...

в общем написал вот такое :

function knopki() {
	var knopko = '<img  src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="JavaScript">';
		document.getElementById('id1').innerHTML+= knopko;
		document.getElementById('to_id2').innerHTML+= knopko;
}


так вот у меня непонятная проблема, если id1 и to_id2 есть на одной странице, то работают оба, а если же только один из этих id имеется на странице, то работает только первый:

document.getElementById('id1').innerHTML+= knopko;

почему так? и как сделать чтобы работали все независимо друг от друга, чтобы к примеру я список id задал и если из этого списка есть хоть один id то выполнялся .innerHTML+

getElementById 04.11.2009 15:20

никто не в силах мне помочь?!
 
попробовал сделать через массив, но результат тот же, хотя в первом случае он по идее не должен быть таковым...

function knopki() {
    var knopko = '<img  src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="JavaScript">';
    var list = ["id1", "id2", "to_id2", "id3", "id4"]
        for (var i = 0, len = list.length; i < len; i++) {
		    document.getElementById(list[i]).innerHTML+= knopko;
		}
}


тут опять же всё работает если есть все элементы из массива, если к примеру нету to_id2, то и последующие id3 и id4 не будут выполненны, т.к. цикл завершается при "false" , помогите пожалуйста....

идентификаторы находятся на различных страницах, поэтому по любому будет "false" в цикле и если нужный элемент в массиве будет стоять до "false", то ничё не получится....
уважаемые, очень нужна ваша помощь!

IIIEPJIOK 05.11.2009 02:46

if(document.getElementById(list[i])){
//все что душе угодно
}

getElementById 06.11.2009 16:26

хехе, всё гениальное просто))) чёт реально я в облоках :haha:


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