今天在寫一個table中tr的click事件,本來想要在某一列上click之後就自動選取前方的checkbox;經過許久的測試後發現事情並不單純,利用以前舊有的attr方法來做竟然發生問題
原來的版本
在這個解法中是利用.attr('checked')來檢查目前checkbox的選取狀態,在第一次run的時候,功能完全正常;但是如果點了第二次他就失靈了,如果利用Chrome developer tool來查看元件,會發現checkbox的後面會忠實地加上checked="checked"這樣的屬性,妙的是checkbox的顯示完全是未選取狀態。
查了jQuery的文件後發現,在jQuery 1.9之後要改用prop,雖然這個在1.6版就有了,但現在看來1.9不用這個會出大問題
http://jquery.com/upgrade-guide/1.9/#attr-versus-prop-
修改後的版本
改用prop來檢測目前的checkbox狀態,並且用prop來變更checkbox狀態。這樣就可以正常呈現想要的功能,不過如果再用Chrome developer tool來看的話,會發現checkbox之後的checked ="checked"根本不會改變...
這真是太詭異了
訂閱:
文章 (Atom)
精選文章
利用Selenium IDE進行UI測試
安裝與執行 Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/ 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會...
-
初始化私有ETH網路,可以用puppeth指令產生創世區塊的json內容 geth --datadir “./privatechain” init custom_genesis.json 建立兩個節點,這樣之後一個節點可以提供rpc服務,一個可...
-
自從使用Windows 10之後使用VirtualBox就一直遇到困難,由於我會在Virtual Box的guest裡面安裝Centos,再利用 host來存取guest的服務,所以我會設定兩張網卡:一張是NAT,另一張則是僅限主機,但是在改用Windows 10之...
-
關閉mysql 服務: sudo mysqld_safe --skip-grant-tables & sudo /etc/init.d/mysqld stop mysql -uroot 登入後指令: use mysql; ...