Archive for August, 2011

Manipulasi kandungan didalam elemen

Posted by mkhairul

Post kilat.. Katakan ada elemen macam ni..

<a href="#">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer augue augue, 64GB-DDRAM scelerisque vitae convallis consequat, fringilla quis urna.</a>
<a href="#">Nullam consequat molestie metus, vel fermentum mauris molestie eu. Aenean ornare lectus quis turpis congue condimentum.</a>

Dan katakan pulak kandungan anchor ni kita takleh nak tukar awal-awal (dari service lain ataupun dari database). So, kita hanya boleh tukar bila page tu dah generate. Apa nak buat sekarang ialah nak letak 64GB-DDRAM atau perkataan seangkatan dengannya dalam elemen .

Guna javascript macam ni.. jangan lupa include jQuery!

$(document).ready(function(){
  pattern = new RegExp(/[A-Za-z0-9]*[-]+[A-Za-z0-9]*/)
  $('a').each(function(v){
    tmp = $(this).html().match(pattern);
    if(tmp)
    {
      str = $(this).html().replace(pattern, '<span class="something">' + tmp + '</span>');
      $(this).html(str);
    }
  })
})

Nak explain ke tak, aku rasa agak simple kod ni untuk difahami. Kalo ade soklan tanya la dalam comment.

Ni kita guna sihir regex sikit. Untuk cari pattern yang match 64GB-DDRAM. Nak cari pattern lain pun boleh, mahir-mahirkan lah diri dalam regex. Nanti leh jadi superhero macam ni..

REGEX HERO

Error apabila terdapat kod console.log di IE 7 dan 8

Posted by mkhairul

Platform utama aku untuk web development, sudah tentu si musang berapi, Firefox bersama dengan serangga setia dia (lipas atau kutu), Firebug. Jadi kadang-kadang aku terbawak bila guna console.log() ni ke IE 7 dan 8 (IE 9 ok, dia takde problem), tapi memang bagus pun pakai console.log() nih, senang nak menjalankan proses menyahpejat (debug). IE 7/8 ni tak suka bila ada pembolehubah yang terus pakai, yang tak assign apa apa. Undefined variable ni dia campak error.. nampak macam ni..

Kod problem dia lebih kurang gini,

// ... bla bla bla
console.log('jadi ke tak?')

$.functionPentingYangMestiRun();

Bila kat Firefox dan seangkatan dengannya, ok je benda ni. Function penting tu run. Tapi bila IE 7/8, dia stop! Dia campak error, pastu dia takmo run dah, setakat tu je.

Maka takmo la jadi macam tu, kena la letak condition.

if(window.console)
{
  console.log('jadi ke tak?');
}

// ataupun

if(typeof console != 'undefined')
{
  console.log('jadi ke tak?');
}

Tak pun letak console.log tu dalam function.

function habaq_kat_console(msg)
{
   if(window.console)
   {
      console.log(msg);
   }
}

// Bila nak pakai

habaq_kat_console('Tak leh la..');

Setakat ni saja.. ada lagi beberapa post dalam pipeline. Akan ku usahakan untuk post!