| 1 | var hash = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}; | 
この連想配列の要素「key2」を削除する
| 1 | delete hash['key2']; | 

在宅プログラマーの備忘録として2005年に始めたブログです。
| 1 | var hash = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}; | 
この連想配列の要素「key2」を削除する
| 1 | delete hash['key2']; | 
たとえば絞込検索などで、1文字入力されるごとに検索処理を実行させたいとき、
イベントのトリガーには
| 1 | onInput | 
を使用します。
| 1 | .addEventListener('input', 関数 ); | 
jQueryなら
| 1 | .on('input', 関数 ); | 
scriptタグで呼ばれたjsファイル内で、
そのjs自身のURL(=scriptタグのsrcの内容)を取得したい場合、
普通にlocationオブジェクトを使って取得しようとしても
おおもとのページのURLしか取得できません。
document.currentScriptオブジェクトに対応していれば簡単ですが、
対応していない場合はその時点で呼ばれている最新のscriptタグを
解析すれば取得できます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var get_self_url = function() {   var _current = (function() {     if (document.currentScript) {       return document.currentScript.src;     }     else {       var scripts = document.getElementsByTagName('script'),       script = scripts[scripts.length-1];       if (script.src) {         return script.src;       }     }   })();   return _current; }; | 
外部のCSSファイルをJavaScriptから動的にロードする関数です。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | var loaded_styles = {}; var load_css = function(src) {   if(sdl.loaded_styles[src]) {     return;   }   var head = document.getElementsByTagName('head')[0];   var link = document.createElement("link");   link.rel = "stylesheet";   link.type = "text/css";   link.href = src;   head.insertBefore(link, head.firstChild);   var loaded_styles[src] = 1; }; | 
使い方
| 1 | load_css('/libs/css/style.css'); | 
長いタイトルですが、タイトル通りのことをやることになり、
スマートなやり方が思いつかず、結局ループを2回回す方法でやりました。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | var _form_data = new FormData(); var _q = location.search.replace('?', ''); var _qs = _q.split('&'); var _param_tmp1 = {}; // 同名パラメータが2つ以上あるかどうかをカウントするループ for(var i = 0; i < _qs.length; i++) {   var _kv = _qs[i].split('=');   if(_kv.length == 2) {     if(_param_tmp1[_kv[0]]) {       _param_tmp1[_kv[0]]++;     }     else {       _param_tmp1[_kv[0]] = 1;     }   } } // カウントが2つ以上なら後ろに[]をつけるループ for(var i = 0; i < _qs.length; i++) {   var _kv = qs[i].split('=');   if(_kv.length == 2) {     if(_param_tmp1[_kv[0]] == 1) {       _form_data.append(_kv[0], _kv[1]);     }     else {       _form_data.append(_kv[0] + '[]', _kv[1]);     }   } } |