2009年7月31日 (金)

指定したオブジェクトを取得

JQuery もどきの関数を書いてみました。

/***************************************************

    指定したオブジェクトを取得する

    #id, .class, それ以外はタグ名と看做す。
    id の場合はオブジェクトを、
    それ以外はオブジェクトの配列を返す。

 ***************************************************/
var $ = function(selector) {
  if (selector.charAt(0) == '#')
    return document.getElementById(selector.substring(1));
  else if (selector.charAt(0) == '.') {
    var elems = new Array();
    var all = document.getElementsByTagName('*');
    var re = new RegExp("\\b" + selector.substring(1) + "\\b");
    for (var i = 0; i < all.length; i++) {
      if (re.test(all[i].className))
        elems.push(all[i]);
    }
    return elems;
  }
  return document.getElementsByTagName(selector);
};

|

2009年6月23日 (火)

jQuery.validator.addMethod

①半角カタカナでの入力を強制する。

jQuery.validator.addMethod("hankaku", function(value, element) { 
  return this.optional(element) || /^[。-゚]+$/i.test(value); 
}, " 半角カタカナで入力して下さい");

②全角カタカナでの入力を強制する。

jQuery.validator.addMethod("zenkaku", function(value, element) { 
  return this.optional(element) || /^[ァ-ヾ]+$/i.test(value); 
}, " ※全角カタカナで入力して下さい");

|

2009年6月 4日 (木)

フレーム内のスクロール

window.onload = function() {
  /* 配置した画像の年月 */
  var m = new Array('2009.5', '2009.6', '2009.7', '2009.8', '2009.9');
  /* 画像の幅 */
  var w = 300;
  /* フレームのスクロール */
  var d = new Date();
  var s = d.getFullYear() + '.' + (d.getMonth() + 1);
  for (var i = 0; i < m.length; i++) {
    if (m[i] == s) {
      window.frames[0].scrollTo(w * i, 0);
      break;
    }
  }
};

|

2009年4月24日 (金)

イベントハンドラの登録

function addEvent(obj, ev, handler) {
  if (obj.addEventListener)
    obj.addEventListener(ev, handler, false);
  else if (obj.attachEvent)
    obj.attachEvent('on' + ev, handler);
  else /* Caution! Override */
    obj['on' + ev] = handler;
}

function onEventHandler(e) {
  if (e == null) e = window.event;
  var obj = e.srcElement || e.target;
  /* ... Insert user code here ... */
}

|

2009年4月17日 (金)

Excel → 加工しやすい HTML

Microsoft Excel 2000 から「Web ページとして保存」した HTML ファイルは、不要なタグが多過ぎて正直あまり使えません。そこで、Microsoft Office HTML Filter 2.1 を使って Office 独特のタグを取り除きますが、さらに、邪魔なものを JavaScript の正規表現置換を使って削除します。

【ルビの削除】

<ruby>([^<]+)<rt>([^<]+)</rt></ruby> → $1

【幅と高さの指定の削除】

\s*height=\d+ → (削除)
\s*width=\d+ → (削除)

|