用JQuery取得endwithId的Client物件

不想再用ClientID了!

前言

在開發Web難免會用到Javascript,有時想要按下一個button時,去清Client物件時,一般會使用該物件的ClientID屬性。但是,每個ID都要由Server Render下來實在不太好用!

實作

看到JQuery有取得endwith屬性的方式(E[foo$=bar] 有 foo 屬性,且 foo 屬性值以 bar 結尾的 E 元素),想說可以試一下,就不用想要在Client端操作物件還要從Server端Render Client下來!

寫個網頁來試一下,

2

在Default.aspx中要引用JQuery.js

在ctlTest的裡面包含一個TextBox及2個Button,這2個Button分別去設定txtA的值,只是使用不同的方式。

1

3

檢視原始碼,可以看到原本<%=txtA.ClientID%>變成了ctlTest1_txtA

4

寫了一個getByendwithId的Js函式,測試也可以Work哦!


function getByendwithId(id) {
  return $("input[id$=" + id + "]")[0];
}

 

更猛的你可以把input改成*,這樣就找所有的element了!

 

附上測試程式:GetByEndWithId.rar

 

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^