I am trying to do the following in JavaScript:
var gete = document.getElementById;
But I am getting the following error (From FireBug's Console):
uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: http://localhost:8080/im_ass1/ :: anonymous :: line 15" data: no
]
Now obviously I can wrap the function as follows:
var gete = function (id) {
return document.getElementById(id);
};
But what is the reason I'm getting the above exception when assigning the function to another name?
To invoke an alias of document.getElementById
in Firefox and Google Chrome, you should be doing it as follows:
var gete = document.getElementById;
gete.call(document, 'header').innerHTML = 'new';
You may want to check out the following Stack Overflow post for a detailed explanation behind this: