jq: 工具方法

工具方法为实例方法提供底层搭建
$.type() 判断数据类型
$.trim() 消除字符串两边的空格
$.makeArray()/$.inArray()/$.each()/$.merge()
$.noConflict() 移交$权限
$.data()

$.type()

原生js中typeOf只能判断基本的数据类型:
number string undefined boolean object
然后可以使用Object.prototype.toString.call()来更精确的判断

在jq中,我们可以使用$.type()来判断。返回字符串

        var arr = [1, 2, '2', '三'];
console.log($.type(arr))

      

v2-f9f3c7a99ddf8bb5d6be0ceac57a5d02_b.png

$.trim() 消除字符串两边的空格

        var str = "  afef fdsaf fsdafas";
console.log(str);
console.log($.trim(str));

      

v2-39e747212d88ba1cf9b1bd450035d30c_b.png

$.makeArray() 使类数组变成数组 数组具有pop push方法

        <lu>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</lu>
<div class="wrapper" data-name="fanghuayong"></div>
<script src="../jquery-3.4.1.js"></script>
<script>
    console.log($.makeArray($('li')));
</script>
      

v2-174ca50d0a40767c79b37603be612e8c_b.jpg

$.inArray() 判断数组中是否包含某个字符串 有返回索引 没有返回-1

第一个参数查找的字符

第二个参数所在的数组

第三个参数从哪个位置开始找

        var arr = [1, 2, '2', '三'];
console.log($.inArray('三', arr));

      

v2-68c9e2c4042b72148533fed6d854952c_b.png

$.each() 循环遍历项 可以遍历数组 可以遍历对象

        var data = [{
     name: 'yangcai',
     age: 23,
},{
     name: 'lizhuli',
     age: 22,
},{
     name: 'fanghuayong',
     age: 24,
},]
var str1 = '';
$.each(data, function(index, ele) {     // 循环遍历
    str1 += `<p>姓名:${ele.name}  年龄:${ele.age}</P>`
})
$('.wrapper').append(str1);

      

v2-8fd91d5b25061ac917e2f1f5376460a6_b.jpg
        var obj2= {
    name: 'huahuayong',
    age: 24,
    sex: "male",
}
 var str2 = '';
 $.each(obj2, function(a, b) {
     str2 = `${a} : ${b}<br>`
     $('.wrapper').append(str2);
  })

      

v2-d49faab9981340d36d990bb2af374697_b.jpg

$.merge() 合并数组或者类数组到第一个数组中 执行完返回合并后的第一个数组

        var arr1 = [1, 2, 3];
var arr2 = ['一', '二', '三'];
$.merge(arr1, arr2) // 合并数组到第一个数组中  执行完返回arr1
console.log(arr1)

      

v2-3fd8d5a2b26df0b3832abd68ad677f56_b.jpg

$.noConflict() 移交$权限 可以赋值给其他变量

        var j = $.noConflict(true); // 移交$权限 如果传true $和jQuery都不能使用  可以赋值
console.log(j.prototype.jquery); // 兼容多版本的时候可以查看使用的是什么版本

      

v2-71e0f505d1d9c67034f0780daf4e7df6_b.png

$.data() 标记数据

dom元素上可以使用data-xxx 用户缓存数据(标记)

        <div class="wrapper" data-name="fanghuayong"></div>
      

查看

        var wrapper = document.getElementsByClassName('wrapper')[0];
var data = wrapper.dataset;
console.log(data)

      

v2-5fbfa2cf52f091939982e2577c3db8e9_b.jpg

jq中可以用实例方法来标记:

        var wrapper1 = $('.wrapper');
wrapper1.data('age', 19);
console.log(wrapper1.data('age'))
console.log($('.wrapper').data())

      

v2-5468367f1042083492e561281ee37126_b.jpg

也可以用工具方法:

        var wrapper1 = $('.wrapper');
$.data(wrapper1, 'age1', 20);
console.log($.data(wrapper1))

      

v2-acaeadd262d67bbad9223b03e01d183f_b.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值