Проблема присвоения document.createElement переменной
При попытке присвоить document.createElement какой-то переменной для сокращения кода, вернее при попытке эту переменную использовать, возникает исключение:
Код:
[Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" try{ var crElem = document.createElement; alert( crElem ); var d = crElem('div'); }catch(err){ alert(err); } Почему, и как обойти? p.s. пробовал в firefox |
var crElem = document.createElement; var d = crElem.call(document, 'div'); alert(d); Обойти можно так: var cElem = function(elem){return document.createElement(elem)} |
Да, что-то у меня затмение. Но все-таки - почему не дает использовать мою сокращенную форму?
|
Почемучкин,
Потому, что внутри функции createElement объект this == document, а не window. |
Skipp,
Не понял |
ещё один элегантный способ:
var createEl = document.createElement.bind(document); |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 22:10. |