不想再用ClientID了!
前言
在開發Web難免會用到Javascript,有時想要按下一個button時,去清Client物件時,一般會使用該物件的ClientID屬性。但是,每個ID都要由Server Render下來實在不太好用!
實作
看到JQuery有取得endwith屬性的方式(E[foo$=bar] 有 foo 屬性,且 foo 屬性值以 bar 結尾的 E 元素),想說可以試一下,就不用想要在Client端操作物件還要從Server端Render Client下來!
寫個網頁來試一下,
在Default.aspx中要引用JQuery.js
在ctlTest的裡面包含一個TextBox及2個Button,這2個Button分別去設定txtA的值,只是使用不同的方式。
檢視原始碼,可以看到原本<%=txtA.ClientID%>變成了ctlTest1_txtA
寫了一個getByendwithId的Js函式,測試也可以Work哦!
function getByendwithId(id) { return $("input[id$=" + id + "]")[0]; }
更猛的你可以把input改成*,這樣就找所有的element了!
附上測試程式:GetByEndWithId.rar
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^