jQuery知识点总结(第六天)

时间:2021-05-10 16:14:36

今天工作繁忙,晚上又和所谓的'朋友',吃了自助烧烤。

但我内心是很抗拒的,不知为了什么,竟然稀奇古怪的答应了下来,竟要去吃饭。我向来不喜欢去凑热闹,特别是和志趣不投的人在一起吃,对方所说的话,自己根本没有机会插上口。

也许是自己交际面太窄,也许是自我太封闭。但这已经成为人格的一个重要组成部分了,我喜欢并维持着自己的小性格,无论好或者不好。

在人与人的这种吃喝交际中,我得不到收获与快乐。连我自己喜欢的东西也差一点不能坚持下去。

博客已经写了五天了,以后也会一直的写下去。只要没有不可抗因素,只要我对编程还保持一份乐趣,就会一直的继续下去。至少是一天一篇,不仅对于自己深入的思考有帮助,而且能够记录下自己一路上走过的路。也许三年五年过去了,我猛然回头,看到今夜微醺的我,执笔写下这一段话,会是多么的幼稚和可笑。更重要的是,如果自己学习路上遇到的难题和错误,能够给后来的学习者一点借鉴,能够理解那些晦涩难懂的概念,从而在技术上有点进步,那就再最好不过了。


今天实在没有精力和兴致继续做笔记,但来了博客园总不能空手而归。于是想起前天遇到的一个jQuery难题。

需求:

    有一个密码输入框,后面有一个按钮。

    当点击按钮的时候,密码框的内容变明文,再次点击的时候,密码内容变密文。

遇到的问题:

   当点击的时候,用attr更改type的属性。将password改为text。

但是浏览器报错:uncaught exception type property can’t be changed

  

产生问题的原因:

  因为IE不支持更改type的属性。jQuery无法兼容,所以舍弃了这个方法。

在非IE浏览器中,可以使用原生的JS来更改type属性。

但是在IE中,用原生JS仍然不能更改。

最终解决方案:

  整体替换法,当鼠标点击的时候,先获取输入框中的值,然后remove掉整个输入框。

  然后用append添加一个新的输入框,同时将type属性设置为text。

然后将刚才获取的val值添加到新的输入框中。

隐藏也是如此。


今天没有打一个代码。明天好好补过。