几个有用的JavaScript/jQuery代码片段(转)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几个有用的JavaScript/jQuery代码片段(转)相关的知识,希望对你有一定的参考价值。

1. 检查数据是否包含在Array中

//jQuery实现

jQuery.inArray("value", arr);

// 使用方法: if( jQuery.inArray("value", arr) != -1 ) { true }; 

原生javascript实现:

Array.prototype.inArray=function(value){ 

  for(var i=0;i<this.length;i++) {

    if(this[i]==value) {

      return true;

    }

  }

  return false;

}

 用法:

var myArray=[‘aa‘,‘bb‘,‘cc‘];

myArray.inArray(‘cc‘);

 

2. 使文本不能够被选中

(function($) {  
 
    $.fn.unselectable = function() {  
        this.each(function() {  
            this.onselectstart = function() { return false; };  
            this.unselectable = ‘on‘;  
            this.style.MozUserSelect = ‘none‘;  
        });  
    };  
 
})(jQuery);
使用方法 $(dom).unselectable();
 
3. 检查数据是否含有小数
Number.prototype.hasDec = function() {return !!(this % 1);}  
//使用方法
//var num = 34.34; num.hasDec(); > true 
 
4. 检查URL是否有效
function urlExists(testUrl) {  
    var http = jQuery.ajax({  
        type:"HEAD",
        url: testUrl,  
        async: false  
    })  
    return http.status!=404;  
}
 
5. 复制一个Array
Array.prototype.duplicate=function(array) {
  return this.concat(this);
 
}
 
6. trim
//jQuery  
jQuery.trim(‘ string ‘); //return ‘string‘  
 
//javascript  
String.prototype.trim = function() {  
   return this.replace(/^\s+|\s+$/g,"");  
}  
String.prototype.ltrim = function() {  
   return this.replace(/^\s+/g,"");  
}  
String.prototype.rtrim = function() {  
   return this.replace(/\s+$/g,"");  
}
使用:
var test = "   Test   "; 
var test3 = test.trim();    // returns "Test"
 
 
7. getElementByClassName
Object.prototype.getElementsByClass = function (searchClass, tag) {        
   var returnArray = [];  
   tag = tag || ‘*‘;  
   var els = this.getElementsByTagName(tag);  
   var pattern = new RegExp(‘(^|\\s)‘+searchClass+‘(\\s|$)‘);  
   for (var i = 0; i < els.length; i++) {  
      if ( pattern.test(els[i].className) ) {  
         returnArray.push(els[i]);  
      }  
   }  
   return returnArray;  
}
//返回class为"className"  的所有dom元素
els=document.getElementsByClass(‘className‘);  
//返回class为‘className’的所有p的dom元素
els=document.getElementsByClass(‘className‘,‘p‘);
 
8. 添加/移除/切换 dom元素的class
 
var cssClasses = {  
    addClass: function(ele,cls) {  
        if (!Utils.hasClass(ele,cls)) ele.className += " "+cls;  
    },  
    removeClass: function(ele,cls) {  
        if (Utils.hasClass(ele,cls)) {  
            var reg = new RegExp(‘(\\s|^)‘+cls+‘(\\s|$)‘);  
            ele.className=ele.className.replace(reg,‘ ‘);  
        }  
    },  
    toggleClass: function(ele,cls) {  
        if (this.hasClass(ele,cls)) {  
            this.removeClass(ele,cls);  
        }  
        else {  
            this.addClass(ele,cls);  
        }  
    }  
}

使用方法:

var element = document.getElementById(‘somehtmlel‘);  
 
cssClasses.addClass(element, ‘cssClassName‘); //添加css class  
cssClasses.removeClass(element, ‘cssClassName‘); //移除css class  
cssClasses.toggleClass(element, ‘cssClassName‘); //切换css class  
cssClasses.hasClass(element, ‘cssClassName‘); //返回true or false;
 
9. 检查元素是否含有滚动条

调用方法$(”).hasScrollBar();返回boolean型

 
 

以上是关于几个有用的JavaScript/jQuery代码片段(转)的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:Jquery 发布请求未按预期工作

使用 Javascript/jQuery 更改表单响应

Javascript/Jquery 注释在 IE 中导致错误

比较有用的php代码片段

Javascript/jQuery - 使用正则表达式解析字符串中的主题标签,URL 中的锚点除外

使用 javascript (JQuery Request) 向 wp8 推送通知