原生javascript常用方法

简介: 原生javascript常用方法

JS函数修改html的元素内容,及修改属性内容
document.getElementById("aid").innerHTML="World";
document.getElementById("aid").href="http://www.jikexueyuan.com";
document.getElementById("aid").style="width:120px";
document.getElementById("aid").style.color="blue";
document.getElementById("aid").setAttribute("class", "abc");
document.getElementById("aid").className ="abc";

JS操作自定义属性

获取自定义属性值:
document.getElementById("txtBox").getAttribute("displayName");
document.getElementById("txtInput").attributes["displayName"].nodeValue
设置自定义属性值:
document.all.txtBox.setAttribute("displayName ","123456");
document.getElementById("txtInput").attributes["displayName"].nodeValue = "123456"

JS动态添加html元素,以及属性的简单实例
function test(){
//创建节点div
var lswt_2=document.createElement("div");
//设置节点id
lswt_2.id='lswtColse';
//设置节点属性
lswt_2.style.width='11px';
lswt_2.style.height='10px';
lswt_2.style.top='0px';
lswt_2.style.right='0px';
lswt_2.style.position='absolute';
lswt_2.style.background='url(7.gif)';
lswt_2.style.backgroundRepeat='no-repeat';
//为这个节点添加点击事件
lswt_4.addEventListener("click",loc,false);
//把这个节点放到那里?放到id为lswt的元素下
var element_2=document.getElementById("lswt");
//插入这个节点
element_2.appendChild(lswt_2);
}

JS操作cookie
$.cookie('productid', $(this).attr("pid")); 写入
$(".country-selectinput").html($.cookie('productname')); 读取

JS把返回的json字符串转换成json数组
var serData = $.parseJSON(data);

JS判断是否Touch屏幕
function isTouchScreen(){

return (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);

}

JS获取移动设备初始化大小
function getInitZoom(){

if(!this._initZoom){
    var screenWidth = Math.min(screen.height, screen.width);
    if(this.isAndroidMobileDevice() && !this.isNewChromeOnAndroid()){
        screenWidth = screenWidth/window.devicePixelRatio;
    }
        this._initZoom = screenWidth /document.body.offsetWidth;
    }
return this._initZoom;

}

JS获取cookie值
function getCookie(name) {

var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]);
return null

}
JS设置cookie值
function setCookie(name, value, Hours) {

var d = new Date();
var offset = 8;
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = utc + (3600000 * offset);
var exp = new Date(nd);
exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"

}

JS判断鼠标滚轮向上向下滚动
var initTop = $(window).scrollTop();
$(window).scroll(function () {

var scrollTop = $(document).scrollTop();
 if(scrollTop > initTop){
    //向下滚动
 } else {
    //向上滚动
 }
 initTop = scrollTop;

})

JS按样式表名称搜索getElementsByClassName
function getElementsByClassName(name) {

var tags = document.getElementsByTagName('*') || document.all;
var els = [];
for (var i = 0; i < tags.length; i++) {
    if (tags.className) {
        var cs = tags.className.split(' ');
        for (var j = 0; j < cs.length; j++) {
            if (name == cs[j]) {
                els.push(tags);
                break
            }
        }
    }
}
return els

}

JS清除html代码中的脚本
function clear_script(){

K1.value=K1.value.replace(/<script.*?>[\s\S]*?<\/script>|\s+on[a-zA-Z]{3,16}\s?=\s?"[\s\S]*?"|\s+on[a-zA-Z]{3,16}\s?=\s?'[\s\S]*?'|\s+on[a-zA-Z]{3,16}\s?=[^ >]+/ig,"");

}
动态执行JavaScript脚本
function javascript(){

try{
  eval(K1.value);
}catch(e){
  alert(e.message);
}

}

JS实现base64解码
function base64_decode(data){

var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,ac = 0,dec = "",tmp_arr = [];
if (!data) { return data; }
data += '';
do {
        h1 = b64.indexOf(data.charAt(i++));
        h2 = b64.indexOf(data.charAt(i++));
        h3 = b64.indexOf(data.charAt(i++));
        h4 = b64.indexOf(data.charAt(i++));
        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
        o1 = bits >> 16 & 0xff;
        o2 = bits >> 8 & 0xff;
        o3 = bits & 0xff;
        if (h3 == 64) {
                tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
                tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
                tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
} while (i < data.length);
dec = tmp_arr.join('');
dec = utf8_decode(dec);
return dec;

}

JS实现utf8解码
function utf8_decode(str_data){

var tmp_arr = [],i = 0,ac = 0,c1 = 0,c2 = 0,c3 = 0;str_data += '';
while (i < str_data.length) {
        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
                tmp_arr[ac++] = String.fromCharCode(c1);
                i++;
        } else if (c1 > 191 && c1 < 224) {    
                c2 = str_data.charCodeAt(i + 1);
                tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
                i += 2;
        } else {
                c2 = str_data.charCodeAt(i + 1);
                c3 = str_data.charCodeAt(i + 2);
                tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
        }
}
return tmp_arr.join('');

}

JS获取窗体可见范围的宽与高
function getViewSize(){

var de=document.documentElement;
var db=document.body;
var viewW=de.clientWidth==0 ?  db.clientWidth : de.clientWidth;
var viewH=de.clientHeight==0 ?  db.clientHeight : de.clientHeight;
return Array(viewW ,viewH);

}

JS阻止浏览器默认事件
function stopDefault( ev ) {

//阻止默认浏览器动作(W3C)
if ( ev && ev.preventDefault )
    ev.preventDefault();
//IE中阻止函数器默认动作的方式
else
    window.event.returnValue = false;
return false;

};

JS提取页面代码中所有网址
var aa = document.documentElement.outerHTML.match(/(url(|src=|href=)[\"\'](1+)[\"\')]|(http://[\w-.]+2+)/ig).join("\r\n").replace(/^(src=|href=|url()[\"\']|[\"\'\>) ]$/igm,"");
alert(aa);

JS返回顶部的通用方法
function backTop(btnId) {

var btn = document.getElementById(btnId);
var d = document.documentElement;
var b = document.body;
window.onscroll = set;
btn.style.display = "none";
btn.onclick = function() {
    btn.style.display = "none";
    window.onscroll = null;
    this.timer = setInterval(function() {
        d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
        b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
        if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);
        }, 10);
};
function set() {
    btn.style.display = (d.scrollTop + b.scrollTop > 100) ? 'block': "none"
}

};
backTop('goTop');

JS获得URL中GET参数值
// 用法:如果地址是 test.htm?t1=1&t2=2&t3=3, 那么能取得:GET["t1"], GET["t2"], GET["t3"]
function get_get(){

querystr = window.location.href.split("?")
if(querystr[1]){
    GETs = querystr[1].split("&");
    GET = [];
    for(i=0;i<GETs.length;i++){
          tmp_arr = GETs.split("=")
          key=tmp_arr[0]
          GET[key] = tmp_arr[1]
    }
}
return querystr[1];

}

JS判断浏览器种类(IE firefox chrome opera safari)
function isBrowser(){

var Sys={};
var ua=navigator.userAgent.toLowerCase();
var s;
(s=ua.match(/msie ([\d.]+)/))?Sys.ie=s[1]:
(s=ua.match(/firefox\/([\d.]+)/))?Sys.firefox=s[1]:
(s=ua.match(/chrome\/([\d.]+)/))?Sys.chrome=s[1]:
(s=ua.match(/opera.([\d.]+)/))?Sys.opera=s[1]:
(s=ua.match(/version\/([\d.]+).*safari/))?Sys.safari=s[1]:0;
if(Sys.ie){//Js判断为IE浏览器
    alert('http://www.phpernote.com'+Sys.ie);
    if(Sys.ie=='9.0'){//Js判断为IE 9
    }else if(Sys.ie=='8.0'){//Js判断为IE 8
    }else{
    }
}
if(Sys.firefox){//Js判断为火狐(firefox)浏览器
    alert('http://www.phpernote.com'+Sys.firefox);
}
if(Sys.chrome){//Js判断为谷歌chrome浏览器
    alert('http://www.phpernote.com'+Sys.chrome);
}
if(Sys.opera){//Js判断为opera浏览器
    alert('http://www.phpernote.com'+Sys.opera);
}
if(Sys.safari){//Js判断为苹果safari浏览器
    alert('http://www.phpernote.com'+Sys.safari);
}

}

Jquery中$.post和$.ajax的用法
$.ajax({

type:'get',
url:'http://www.www.phpernote.com/rss',
beforeSend:function(XMLHttpRequest){
    //ShowLoading();
},
success:function(data,textStatus){
    $('.ajax.ajaxResult').html('');
    $('item',data).each(function(i,domEle){
        $('.ajax.ajaxResult').append('<li>'+$(domEle).children('title').text()+'</li>');
    });
},
complete:function(XMLHttpRequest,textStatus){
    //HideLoading();
},
error:function(){
    //请求出错处理
}

});

JS固定在网页顶部不随浏览滚动而消失的DIV层
/*
*滚动条滑动,位置不变的DIV层
*div_id:DIV的ID属性值,必填参数
*offsetTop:滚动条滑动时DIV层距顶部的高度,可选参数
*/
function fixDiv(div_id,offsetTop){

var Obj=$('#'+div_id);
if(Obj.length!=1){return false;}
var offsetTop=arguments[1]?arguments[1]:0;
var ObjTop=Obj.offset().top;
var isIE6=$.browser.msie && $.browser.version == '6.0';
if(isIE6){
    $(window).scroll(function(){
        if($(window).scrollTop()<=ObjTop){
                Obj.css({
                    'position':'relative',
                    'top':0
                });
        }else{
            Obj.css({
                'position':'absolute',
                'top':$(window).scrollTop()+offsetTop+'px',
                'z-index':1
            });
        }
    });
}else{
    $(window).scroll(function(){
        if($(window).scrollTop()<=ObjTop){
            Obj.css({
                'position':'relative',
                'top':0
            });
        }else{
            Obj.css({
                'position':'fixed',
                'top':0+offsetTop+'px',
                'z-index':1
            });
        }
    });
}

}

jquery 获取checkbox的选中值(一组和单个)
var id_array=new Array();
$('input[name="id"]:checked').each(function(){

id_array.push($(this).val());//向数组中添加元素

});
var idstr=id_array.join(',');//将数组元素连接起来以构建一个字符串
alert(idstr);

JQuery获取iframe对象
$(window.frames["frame1"].document); //获取iframe对象
//例如
$(window.frames["xxxxx"].document).find('#xxx').val();

JS产生一段随机字符串
function(size) randomString {

size = size || 6;
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', // 62个字符
    maxNum = chars.length,
    ret = '';
while (size > 0) {
    ret += chars.charAt(Math.floor(Math.random() * maxNum));
    size--;
}
return ret;

}

JS页面跳转
onClick="location.href='http://www.ddhbb.com/'"

JS确认对话框
javascript:drop_confirm('你确定要结束活动吗,结束后不可再开启本活动!', 'http://baidu.com');
if(confirm("确认要将用户移动到分组"+group+"?")){

}else{
  event.returnValue = false;
}

JS把php输出的时间戳转换为日期(解决出现NaN的问题)
var s = '1379934802'; //php time()函数输出的时间戳
var d = new Date(parseInt(s) * 1000); //必须乘以1000,否则出现NaN
var dateStr = d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate();
alert(dateStr);

JS控制各行换色
$('div:odd').css("background-color", "#F4F4F8");
$('div:even').css("background-color", "#EFF1F1");

JS网页打印内容
javascript:window.print();

Jquery 获取一组checkbox元素 并获取选中的个数
var items = $("input[name='check']:checked"); //获取name为check的一组元素,然后选取它们中选中(checked)的。
alert( "选中的个数为:"+items.length );


JS实现表格隔行背景色加深

var item  =  document.getElementById("tb");         //获取id为tb的元素(table)
var tbody =  item.getElementsByTagName("tbody")[0]; //获取表格的第一个tbody元素
var trs =   tbody.getElementsByTagName("tr");           //获取tbody元素下的所有tr元素
for(var i=0;i < trs.length;i++){//循环tr元素
    if(i%2==0){        //取模. (取余数.比如 0%2=0 , 1%2=1 , 2%2=0 , 3%2=1)
        trs[i].style.backgroundColor = "#AAA"; // 改变 符合条件的tr元素 的背景色.
    }
}

}

jQuery无刷新访问ajax post方法
$.post("test.php", { "func": "getNameAndTime" },
function(data){

 alert(data.name);
 alert(data.time);

}, "json");

jQuery无刷新访问ajax get方法
$.get("test.jsp", { name: "John", time: "2pm" },
function(data){

alert("Data Loaded: " + data);

});


  1. \"\'()\<\>[]
  2. \"\'()\<\>[]
相关文章
|
6月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
348 69
|
5月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
460 0
|
5月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
529 80
|
9月前
|
前端开发 JavaScript
有没有方法可以保证在JavaScript中多个异步操作的执行顺序?
有没有方法可以保证在JavaScript中多个异步操作的执行顺序?
385 58
|
7月前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
JS回收机制方法讲解
|
8月前
|
JavaScript 前端开发 Java
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
8月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
8月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
JavaScript 前端开发 测试技术
盘点原生JavaScript中直接触发事件的方式
本文全面探讨了原生JavaScript中触发事件的多种方式,包括`dispatchEvent`、`Event`构造函数、`CustomEvent`构造器、直接调用事件处理器以及过时的`createEvent`和`initEvent`方法。通过技术案例分析,如模拟点击事件、派发自定义数据加载事件和实现提示框系统,帮助开发者掌握这些方法在实际开发中的应用,提升灵活性与兼容性。
368 3
|
10月前
|
JavaScript 前端开发 开发者
JavaScript字符串的常用方法
在JavaScript中,字符串处理是一个非常常见的任务。JavaScript提供了丰富的字符串操作方法,使开发者能够高效地处理和操作字符串。本文将详细介绍JavaScript字符串的常用方法,并提供示例代码以便更好地理解和应用这些方法。
211 13

热门文章

最新文章