With some help from a forum member, I got the functionality of this plugin working tonight. It allows for a checkbox or link to make the password field of a form show the hidden characters, because sometimes it's nice to see them. I turned it into a plugin, and because I still consider myself a beginner with javascript, I thought I'd ask for a review so hopefully I can learn something. I tested it in FF5, IE7, IE8, IE9, Latest Opera, Latest Chrome, and Latest Safari.

I have a similar script that could be modified to do the same thing but with a LOT less code at Self Labelling Password Fields - for those who don't want the overhead of needing jQuery in order to do something that can be done with about the same amount of ordinary JavaScript.

The only difference is my script simply has what the field is displayed in it at the start rather than toggling the display - but most of the code required to toggle the display is already in my script.I t always amazes me how many scripts I see using libraries where the code that has been added to perform the processing using the library is as long or longer than the code that could be used to do the same thing without the library.

@felgall - I guess for me, and probably a lot of people that use jquery, is is that it's easy to understand, the documentation is simple, and for my level of experience with javascript, it's like a pair of crutches. When I look at your code... it might as well be in Chinese, because it's totally different than what I'm used to. It's been my long time desire to learn more about javascript though, so I do appreciate the response. I'll definitely study your code and try to understand it.

@SgtLegend - When I tried your updated jsFiddle in IE7 and IE8, it didn't work anymore! I do have a question about the last version though. When you were collecting attributes, you put an underscore in front of class. Is this because class is a reserved variable/word in jQuery or javascript?

Yes it's because class is a reserved word in JavaScript, i am currently looking into why the code won't work in IE 7/8.

EDIT: Found the reason behind IE been stubborn, again IE 8 and below has what's referred to as a read/write once only policy. Because of this it's not possible to set the type property once the element exists in the DOM, to fix this i had to refer back to the first snippet of code i used.

That newest version is very nice! It was impossible for me to find a jQuery plugin that did this, so hopefully other people who are looking for this will find your jsFiddle page. Do the jsFiddle pages last forever?

Do you think there is a way to use something other than focus()? It's just kind of weird that it applies the focus to the input, and if there is more than one password field, such as when a Confirm Password field is used, it applies the focus to the second input.