Помогите с объетами и функциями
function show (textarea, block) { bl({'show_block':"block", block : "none"}); } function bl (obj) { for (var block in obj) { document.getElementById(block).style.display=obj[block]; } } Вот две функции. Функция show в себе вызывает функцию bl и передает ей объект. Но вся проблема в том, что функция show передает ключ в виде аргумента, который она принимает. И получается так, что, это ошибку не вызывает, но, как я понял, передается "" и из-за этого код работает некорректно.:help: Что не так и что поправить чтобы работало? |
Вообще странно, что не работает.
function show(textarea, block) { bl({ show_block: 'block', block: 'none' }); } function bl(a) { for(i in a) document.getElementById(i).style.display = a[i]; } |
Все правильно. Дело в том, что нет разницы между взятым в кавычки 'show_block' и не взятым block. Кавычки нужны для таких случаев:
({ "a a a": "без кавычек будет ошибка из-за пробелов" }) В твоем случае нужно делать так: function show (textarea, block) { var object = { show_block: "block" }; object[block] = "none"; bl(object); } Ruslan_xDD, фу-фу-фу! for.. in без var - так пишут только нубы! |
Спасибо, очень помог.:dance:
|
Часовой пояс GMT +3, время: 02:45. |