Currently I am working on a legacy web page that uses a ton of JavaScript, jQuery, Microsoft client JavaScript, and other libraries. The bottom line – I cannot rewrite the entire page from scratch as the business cannot justify it. So… it is what it is. Anyway, I need to pollute (I really tried not too) the global namespace with a variable. There are the three options I was thinking about –
-
Just store/retrieve it using a normal JavaScript declaration –
var x = 0; -
Use jQuery to store/retrieve the value in a DOM tag –
$("body").data("x", 0); -
Use a hidden form field, and set/retrieve the value with jQuery –
$("whatever").data("x", 0);
Is there a better way? I looked at the existing pile of code, and I do not believe the variable can be scoped in a function.
You can create a namespace inside the jQuery object, like so:
or:
Bear in mind, any plugin method named ‘mynamespace’ will be overwritten so be sure to use a sensible name.