I would like to create a new function that I can use on elements, like this:
document.getElementById("element").myNewFunction();
I'm not talking about this:
document.getElementById("element").myNewFunction = function(){
doSomething...
}
Because this works on that element only, but how should I create global function what I can use on all elements like the ones what are built in to JavaScript?
Use Element's prototype to extend its functionality:
Element.prototype.myNewFunction = function() {
// your code...
};
Now you can call this method on any element object.
Edit: I've just had a quick check around, and it appears that this will not work for IE7 and below, and IE8 might be iffy.
Edit 2: Also as Eli points out it's probably not best practice to extend objects you don't own. Given this and shaky IE support you might want to consider a simple procedural function:
function myFunction(element) {
// your code...
// which may or may not return an object or value
return blah;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With