JS/JQ 常用方法

JS/JQ常用方法:

 

$('#h').index(),在兄弟节点的索引

$('div').attr('title','456'),对title属性操作

text() : 获取标签里面的文本

$('p').not('#id')

 

 

常用方法一:

$('<div>'):创建了div

 

CSS属性操作:

css():设置一个或多个属性

addClass()、removeClass()、toggleClass()

 

// 添加HTML内容:

append():插入最后的子元素

prepend():插入第一个子元素

before():插入某元素之前(兄弟节点)

after():插入某元素之后(兄弟节点)

 

// 删除元素/内容

remove():删除某节点及子节点,和事件

empty():删除某元素的子节点,清空所有子节点

 

// 遍历:

向上遍历:parent():parents():parentsUntil():

向下遍历:children()、find()

find 查找所有的子元素,会一直查找,跨层级查找;

children 查找直接的子元素,不会跨层级查找。

同胞:siblings():next()、nextAll()、nextUntil()、prev()、

         prevAll()、prevUntil()

 

// 过滤:

eq()、first()、last()

closest():最近匹配的祖先节点

 

// 获取内容:

text()、html()、val(),    属性:attr()、length、 size()

 

// jquery通过name属性取值的方法

//$("input[name='imgtitle']").val();//这个只能取到第一个的值

//通过each函数取得所有input的值

var titles = "";

$("input[name='imgtitle']").each(function(){

    titles += $(this).val()+",";

});

//取textarea的值

var desc = $("textarea[name='imgdesc']").val();

 

 

 

// 设置内容或值:

text(xx)、html(xx)、val(xx)

 

// 效果:

hover()   show()   hide()   toggle() 

fadeIn()   fadeOut()   fadeToggle()   fadeTo() 

slideDown()   slideUp()   slideToggle()

 

// 宽高等属性操作:

width()、height()、innerWidth()、innerHeight、outerWidth()、outerHeight()

 

// 获取元素宽度:var contentWidth = $('.content').width();

 

// 事件:

on():事件的另一种开关设置,可以设置多个。//$("p").on("click",function(){ })

off():取消事件,针对on()设置的事件进行取消。

//$("button").click(function(){$("p").off("click");});

scrollTop()/scrollLeft():纵向/横向滚动距离

ev.pageX/Y:相对于[文档]的鼠标坐标

offset():相对文档的偏移量

offsetParent():获取有定位的父级,无则相对文档

$('#ul1 li').size():获取li的长度,有几个li的意思

each():循环,相当于每一个

 

// 操作节点:

clone():克隆节点

wrap():添加父级节点

wrapAll():给整体添加父节点

wrapInner():包住标签内部的所有节点。

unwrap():删除父节点

add():对节点进行添加

slice(1,4):截取某一段,比如截取li的第1个到第4个

 

serialize():数据化。ajax会用得到

serializeArray():数据数组化

 

// 动画:

animate():请参考手册,用法如下:

$(selector).animate({params},speed,easing,callback)

 

// $.xx的应用:

$.type():判断类型

$.trim(str):去除空格什么的

$.inArray('b',arr):判断b在数组中的位置

$.proxy(show , document)(3,4):改变this指向

parseJSON():把字符串解析成JSON格式。

makeArray():将类数组转化成真正的数组。

 

// 加载ajax:

$('#div').load(demo.txt);

 

// $.ajax({})用法:

$('.edit').click(function () {

    adminId = $(this).attr('idx');

    $.ajax({

        type: "POST",

        url: "{:url('admin/index/useredit')}",

        data: {

            admin_id:adminId,

        },

        dataType: "json",

        timeout:3000,

        success: function(data){

            if(data){

                alert(data);

            }

        }

    });

})

 

 

// 失去焦点时候进行操作(排序的时候会用到):

$('.class').blur(function(){})

 

//请求

$.post('xxx.php',function(){}

$.getJSON('xxx.php?callback=?',function(data){}

 

// 字符串和对象转换

JSON.parse()和JSON.stringify()

JSON.parse():字符串解析成对象(未必是json,也可能是数组)。

JSON.stringify():把对象解析成字符串。

 

 

// 跳转:

window.location.href='http://www.baidu.com';

window.history.back(-1);

<a href="javascript:history.go(-1)">返回上一步</a>

<a href=":;" onClick="window.open('login.html')) target="_blank""></a> 

 

// JQ换图片的src路径:

$('#img')[0].src += '?' + Math.random();  //写了0之后,才变成dom对象,没有src属性。

 

// for和for in,用于手机checked的值

//for in用于遍历对象

var obj = document.getElementsByName("auth");

for(k in obj){

    if(obj[k].checked)

        authVal.push(obj[k].value);

}

 

//for无法用于遍历对象,可遍历数组。

for(i = 0 ; i < arr.length ; i++){ }

 

// 数组变成字符串:

var auth = authVal.join(",");

 

// 字符串变数组:

var a = "hello,world,sss".split(",");   //以,分割字符串,拼数组。

 

 

// JQ操作多选框:

$("input[type='checkbox']").is(':checked');   //判断是否选中

$("input[name='auth']").eq(0).attr("checked",true);    //将状态变成选中

$("input[type='checkbox']").eq(0).attr("checked",true);    //将状态变成选中

 

// 字符串替换成其他字符串:

var contentReplace = $('.auth').eq(i).html().replace('1', '订单管理').replace('2','缴费管理');

 

 

// 字符串中是否包含某字符串:

方法一:var check2 = /^.*2.*$/;      //使用正则校验是否包含2

方法二:string.indexOf('abc')     //检测abc字符串首次在string中出现的位置,不存在的时候,会返回-1

 

// arr.indexOf(find,strat)或string.indexOf(find,strat)  

//返回find第一次出现的位置,不存在的时候会返回-1

//find:查找值,start:数组下标(或字符串的第几个字符)开始查找

 

 

J// S时间换成时间戳:

方法一:(new Date('2014-04-23 18:55:49:123')).getTime();

方法二:(new Date('2014-04-23 18:55:49:123')).valueOf();

方法三:Date.parse(new Date('2014-04-23 18:55:49:123'));

 

JS时间戳是13位,linux时间戳是10位的,所以需要除以1000,如下:

var dateStamp = ((new Date(timeStart)).getTime())/1000;

 

 

// 大小写转换:

转换成大写:string.toUpperCase()

转换成小写:string.toLowerCase()

 

// 替换字符串:

str.replace(/Microsoft/,"W3School");

stringObject.match(searchvalue);

stringObject.match(regexp);

 

$('.increase').on('touchstart',function(){

    alert(1);

})

 

//字符串转数字:

parseInt($('.number').text()) * parseFloat($('.unit-price').text())

 

 

//checkbox的值

var obj = document.getElementsByName("auth");

var authVal = [];

for (k in obj) {

    if (obj[k].checked) {

        authVal.push(obj[k].value);

    }

}

 

//数组转字符串

var auth = authVal.join(",");

 

// 获取单选框radio的值

$("input[name='role']:checked").val()

 

 

// 增加请求头

1、$.ajax 添加参数

headers: {

"token":'dhkjsahdjhu7479823kewj'//自定义token及值

},

2、统一设置:

$.ajaxSetup({

headers:{

Authorization:'Bearer DntgHWoEanBSYeMv'

}

});

 

 

// localStorage

localStorage.setItem("key", "value");    // 保存

var lastname = localStorage.getItem("key");    // 读取

localStorage.removeItem("key");    // 删除

localStorage.clear();    // 删除所有制

 

- localstorage存取数组

var weekArray = ['周一'、'周二'、'周三'、'周四'、'周五']

存:localStorage.setItem('weekDay',JSON.stringify(weekArray));

取: weekArray = JSON.parse(localStorage.getItem('weekDay'));

 

//URL编码解码

Jquery解码:decodeURIComponent(url);

Jquery编码:encodeURIComponent(url);

 

//JQ 设置 radio选中的值

$("input[name='name'][value='value']").attr("checked",true);

 

// JQ设置 select 选中的值

$(".category").val("男");

 

 

 

 

 

 

posted @ 2020-03-30 23:07  小寒1206  阅读(137)  评论(0)    收藏  举报