Проблема присвоения 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, время: 14:51. |