JS関数収集--001

4047 ワード

下開発でよく使われているJS問題を記録します。
1.  対性属性を直接取得しても、変更値は無効です。
憂鬱な問題に遭遇しましたが、以下のように修正値が無効になりました。
var idValue=document.getElementById("id").value;
idValue="555";
このように書く必要があります
var id=document.getElementById("id");
id.value="555";
指定月の最後の日を取得します。
function getLastDate(month, year){  
		var ar = new Array(12); 
		ar[0] = 31; // January 
		ar[1] = (!leapYear(year)) ? 29 : 28; // February 
		ar[2] = 31; // March 
		ar[3] = 30; // April 
		ar[4] = 31; // May 
		ar[5] = 30; // June 
		ar[6] = 31; // July 
		ar[7] = 31; // August 
		ar[8] = 30; // September 
		ar[9] = 31; // October 
		ar[10] = 30; // November 
		ar[11] = 31; // December 
		return ar[month-1]; 
	} 

	function leapYear(year) { 
		if (year % 4 == 0) 
		return true; 
		return false; 
	} 
シンプルMap実現
//----------Mapの機能Startに簡単に似ています------//
function Map() {    
 var struct = function(key, value) {    
  this.key = key;    
  this.value = value;    
 }    
     
 var put = function(key, value){    
  for (var i = 0; i < this.arr.length; i++) {    
   if ( this.arr[i].key === key ) {    
    this.arr[i].value = value;    
    return;    
   }    
  }    
   this.arr[this.arr.length] = new struct(key, value);    
 }    
     
 var get = function(key) {    
  for (var i = 0; i < this.arr.length; i++) {    
   if ( this.arr[i].key === key ) {    
     return this.arr[i].value;    
   }    
  }    
  return '';    
 }    
     
 var remove = function(key) {    
  var v;    
  for (var i = 0; i < this.arr.length; i++) {    
   v = this.arr.pop();    
   if ( v.key === key ) {    
    continue;    
   }    
   this.arr.unshift(v);    
  }    
 }    
     
 var size = function() {    
  return this.arr.length;    
 }    
     
 var isEmpty = function() {    
  return this.arr.length <= 0;    
 }    
   
 this.arr = new Array();    
 this.get = get;    
 this.put = put;    
 this.remove = remove;    
 this.size = size;    
 this.isEmpty = isEmpty;    
}  
//------------    Map    end-----------//
前後のスペースを削除します
function trim(s){
   return s.relace(/^\s*/,' ').relace(/\s*$/,' ');
}
undefinedタイプを判断する
var exp = undefined;
if  (typeof(exp) == "undefined") {
    alert("undefined");}
ノードを削除

xxx.removeChild(obj)   xxx           
xxx.removeNode(true)   xxx        (IE  ) 
object.parentNode.removeChild(object) (firefox  ) 

すべてのecFormのtitleIdをクリアします。
function clear(tagsName){
	var allInput=document.getElementsByName(tagsName);
	for(var i=allInput.length-1;i>=0;i--){
		if(allInput[i].type=='hidden'){
			allInput[i].parentNode.removeChild(allInput[i]);
		}
	}
}

        。
文字列または配列の繰り返しデータを削除します。
function getUnique(str){
	if(str==""){
		return str;
	}
	var strAry=str.split(",") ;
	return unique(strAry).join(",");
}
function unique(data){   
    data = data || [];   
        var a = {};   
    for (var i=0; i<data.length; i++) {   
        var v = data[i];   
        if (typeof(a[v]) == 'undefined'){   
            a[v] = 1;   
        }   
    };   
    data.length=0;   
    for (var i in a){   
        data[data.length] = i;   
    }   
    return data;   
}