Skip to content
You are here: خانه arrow ترفندها arrow Javascript Hacks arrow روشهاي ليست كردن المنتهاي يك صفحه

روشهاي ليست كردن المنتهاي يك صفحه چاپ ايميل
امتياز: / 0
ضعيفعالي 
شما معمولا چجوري المنتهاي يك صفحه رو كنترل ميكنيد ؟
getElementById  و getElementsByTagName دو تا تابع خوب هستند براي اين كار اما باز هم دست آدم خيلي بسته هست .
فكر كنيد چند تا فيلد متني داريد كه نياز داريد گروه بندي بشن و مثلا در يك لحظه 10 تا شو disable كنيد !
استفاده از getElementsByTagName باعث ميشه همه فيلدهاي TEXT غير فعال بشن و استفاده از getElementById هم ميتونه خيلي وقت گير باشه .
در صورتي كه فرم شما قابليت اضافه كردن فيلد رو هم داشته باشه و از قبل مشخص نباشه ID فيلد چيه اونوقت ديگه هيچي . البته بازم راه داره اما خيلي سخت ميشه .
خوب به نظر شما چرا  تابعي با نام getElementsByClass وجود نداره ؟
فكرشو كنيد ! كارهاي زيادي ميشه انجام داد .
خوب اشكال نداره چون يكي از دوستان اين تابع رو به صورت دستي ايجاد كرده . البته به صورت متد از كلاس document نبايد استفاده بشه بلكه به صورت يك تابع معولي .
در زير كد اين كلاس رو ميبينيم :
<script language="javascript">
function getElementsByClass( searchClass, domNode, tagName) {
  if (domNode == null) domNode = document;
  if (tagName == null) tagName = '*';
  var el = new Array();
  var tags = domNode.getElementsByTagName(tagName);
  var tcl = " "+searchClass+" ";
  for(i=0,j=0; i<tags.length; i++) {
    var test = " " + tags[i].className + " ";
    if (test.indexOf(tcl) != -1)
      el[j++] = tags[i];
  }
  return el;
}
</script>
نكته : نمونه هاي ديگري هم هستند كه تفاوت زيادي با اين كد ندارند :
http://javascript.internet.com/snippets/getelementsbyclass.html
http://www.dustindiaz.com/getelementsbyclass/
http://domscripting.com/blog/display/18



 
< بعد   قبل >
 

ورود اعضا






رمز عبورتان را فراموش كرده ايد؟
هنوز ثبت نام نكرده ايد? فرم ثبت نام

خبر خوان

كاربران آنلاين در سايت

حاضرین در سایت : 3 نفر مهمان