升級jq 後出現的bug修復

我們目前的網站比較老,大概有10年以上的歷史了,裏面引出了各種版本的jq,有V1.3.2,V1.7.2,V1.8.2,V1.11.1。

由於之前網上遭遇過黑客攻擊且勒索,後來解決問題之後,公司出了錢請了專業的人士排查我們站點上面代碼存在的一些漏洞。

其中

jq 要統一引用 V1.12.2版本,由此引出了一大堆問題,下面針對問題修復的辦法,可能不是最好的,但卻是我最快想到的,如果大家有更好的辦法,請指出。

1:不支持空 屬性選擇器

只好加個判斷條件

2:不支持找頁面中不存在的屬性

2.1獲取手動選中CheckBox後Jq 獲取不到 得到的值是undefined

錯:jQuery(this).attr("checked")

對:jQuery(this).prop("checked") 或 jQuery(this).is(':checked')

2.2獲取手動輸入input框的值 得到的值是undefined

錯:var data_v = jQuery(e.currentTarget).attr("value");

對:var data_v = jQuery(e.currentTarget).val();

3:live() 方法在 jQuery 版本 1.7 中被廢棄,在版本 1.9 中被移除。使用 on() 方法代替。

4:用attr對input輸入框賦值不生效

錯:var data_v = jQuery(input).attr("value",“ddd”);

對:var data_v = jQuery(input).val(“ddd”);

 

5:之前 div  有value屬性 都可以 通過 .val()方法 獲取 現在不行

錯:var data_v = jQuery(div).val();

對:var data_v = jQuery(div).attr("value”);

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章