“document.getElementByClass is not a function”

You probably meant document.getElementsByClassName() (and then grabbing the first item off the resulting node list): You may still get the error document.getElementsByClassName is not a function in older browsers, though, in which case you can provide a fallback implementation if you need to support those older browsers.

Download File Using JavaScript/jQuery

Use an invisible <iframe>: To force the browser to download a file it would otherwise be capable of rendering (such as HTML or text files), you need the server to set the file’s MIME Type to a nonsensical value, such as application/x-please-download-me or alternatively application/octet-stream, which is used for arbitrary binary data. If you only want to open it in a … Read more

Open a URL in a new tab (and not a new window)

Nothing an author can do can choose to open in a new tab instead of a new window; it is a user preference. (Note that the default user preference in most browsers is for new tabs, so a trivial test on a browser where that preference hasn’t been changed will not demonstrate this.) CSS3 proposed target-new, but the … Read more

Compare two dates with JavaScript

The Date object will do what you want – construct one for each date, then compare them using the >, <, <= or >=. The ==, !=, ===, and !== operators require you to use date.getTime() as in to be clear just checking for equality directly with the date objects won’t work I suggest you use drop-downs or some similar constrained form of date entry rather than text boxes, … Read more