EDIT:
I learned that using other value than _blank, DOES NOT work on mobile browsers to open new windows/tabs.
For example, if you need to open a new window/tab:
-
This works on all browsers, even mobile browsers:
target="_blank". -
This does not work on mobile browsers, but it does work on desktop browsers:
target="new".
—
Although I have this one working, I’m not sure if there’s a better way to do it, or if the way I got it is the right/only way.
Basically what I’m doing is replacing all the target="_new" or target="_blank" attribute values to target="nw", this way only one new window is open and in it all other new windows will open in order to not overwhelm the user with multiple windows.
I’m also adding a “Opens in a new window” title="" attribute.
So the solution I created is this one:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
Notice the two .attr(); methods.
Is this the correct way to add two attributes to an element?
I tried .attr('target','nw','title','Opens in a new window') but it didn’t work.
The reason I ask is because of the DYR (Don’t Repeat Yourself) principle, so if I can improve the code I have, great, if not, then it is what it is.
Thanks.
Should work:
Note:
From the jQuery documentation (Sep 2016) for .attr:
Edit:
For future reference…
To get a single attribute you would use
To set a single attribute you would use
To set multiple attributes you need to wrap everything in { … }
Edit – If you’re trying to get/set the ‘checked’ attribute from a checkbox…
You will need to use
prop()as of jQuery 1.6+So to get the checked status of a checkbox, you should use:
Or to set the checkbox as checked or unchecked you should use: