2014年1月29日 星期三

Android抓不到WiFi SSID

之前把一台用不到的無線AP架在我房間內,想讓手機跟iPad都可以無線上網,但是很奇怪的事情發生了,我的Android手機居然抓不到WiFi的SSID,但是iPad跟iPhone都可以,google也找不到原因,後來就懶得理他了,反正我的手機有3G吃到飽。

但是最近忽然心血來潮把那台AP刷了最新版的dd-wrt,就抓的到了,可是我做了一些調整之後,又發現抓不到了!!!居然是設定的問題,所以我就開始檢查到底是什麼設定出問題,結果發現,是頻率不能調自動,我把頻率固定在頻道6就能夠抓到了~~~

使用jQuery的attr注意事項

這篇其實是寫給自己看的,最近在做一個階層式選單,所有資料都是使用ajax拿回來的,連第一層也是。所以頁面一打開,他會去讀第一層的資料,點第二層之後去拿第三層,點第三層去拿第四層....

但是為了避免資源浪費,所以拿過的資料不要重複拿,不要看的時候就把他隱藏起來,要看再打開讓他看,這時需要2個控制變數,一個判斷是否有拿過資料,一個判斷是否要打開或隱藏這個元素

所以我很自然的 取了 data, open 當做變數名稱放在html tag裡面使用,但是open在html5裡面居然是一個keyword,雖然使用$(this).attr('open', 'true')可以正確設置open='true',但是使用$(this).attr('open')取回值,他一律回open!!!!!!!

又不是歐噴醬,幹嘛一直回我歐噴!!!!!!
所以以後最好避免使用open當做tag的名稱...切記...

本次重點整理

  1. 要使用attr取得tag的內容,最好初始的html就有該tag名稱,不然他一律回undefined,直到你用attr設定了該tag的值
  2. html tag一律為字串,所以設定$(this).attr('data', true)跟$(this).attr('data', 'true')之後,取回內容一律為字串的true,建議一開始寫入就寫字串,比較不會混淆
  3. 千萬別用open當做tag名稱,不然他會變歐噴醬。
  4. 使用attr設定tag值為false時會使得該tag消失,下次想用attr取回時會回傳undefined,要非常注意,解決方式是設置字串的false就好

使用jQuery在表格中任一插入一列

最近再做一個表格,要能在表格中任意插入一列,google了幾個方法都是教你用eq(x),就能在某一行後面插入balabala...

阿我就是不知道要在哪行後面插入啊!!!!!,掯,這不是廢話嗎?

爆氣之後決定自己想辦法,以下就是source code。

要注意的是一般我們插入元件都會用append加到後面,但是append這個指令其實是會把要加入的內容放在該元素的最後面,而不是這個元素的後面。意思就是,新加入的內容還是算在該元素的頭上,不會自成一個元素。

在加入一般的元素或許沒什麼問題,但是要加入表格就會造成版面亂掉,
所以這邊加入要使用after或是before,這2個指令才會把加進去的內容放在原本的元素外面。


$(document).on('click', '.tr', function(){
    $(this).after("<tr class='tr'><td>data</td></tr>"); //要放在前面就把after換成before
});