不要嫌弃我这个头条党,看下面的分享。最近发现jquery的一些方法在业务中有其他用法,可以帮我解决一些问题。下面我来说说。共同进步,欢迎大家指正。val(string|function|array)val(string|function|array):给匹配的表单元素赋值。这个函数最常用的功能就是传入字符串作为参数,用起来是一种享受。让我们看看剩下的两个。假设我们做的项目有很多这样的需求:批量处理一些数据并提交,比如每个宝贝的价格根据金额加1元。varprice=Number($('.J_money').val()),$spanPrice=$('.trade-body[data-column="price"]');$spanPrice.val(function(index,value){return(+value+price);});执行完上面的代码,调用val()传入一个函数。该函数有两个参数:调用者的元素下标和元素的当前值。该函数返回值作为要为当前元素设置的值。这样我们就可以批量修改一些东西了,太棒了^v^接下来我们来看看第三种用法(勾选框,单选按钮或者下拉框选择),这个方法让我更兴奋了许久。给你一颗荔枝^v^事情是这样的:我们有很多这样的业务需求,比如记录我们的操作或者初始化一些东西。varvalue=[1,208,182];$('.group-listinput[type="checkbox"]').val(value);是不是很酷?以前的方法需要遍历、比较、选择这些繁琐的过程。没有了。还有radio和select,我就不举栗子了,大家可以自己试试!其实很多jquery函数都可以将函数作为参数传递,用法大致相同。以函数作为参数为例。如果我们的目标元素不是form元素而是像span这样的普通元素,那么我们要批量处理怎么办呢?我们应该想到html()或text()这两个函数现在,以text()为例varprice=Number($('.J_money').val()),$spanPrice=$('.trade-body[data-column="price"]');$spanPrice.text(function(index,text){return(+text+price);});大家可以去jQuery官网看文档。我们平时使用的函数大部分都是用这个用法,比如:attr(),css()...所以功能在,用法也在。如果你得到它,请在你的项目中使用它。在这里我提到几个你可以使用但你可能不记得何时使用它的功能。inArray(value,array):返回数组中第一次出现的传入值的下标。如果未找到,则返回-1。在项目中,我们经常会遇到判断一个值是否存在于数组中(不管重复值,也存在倍数)。我们可以使用这个函数varindex=$.inArray('hello',['hi','hello','Hello']),index2=$.inArray('someother',['hi','hello','Hello']);console.log(index);console.log(index2);isArray(o):如果o是JavaScript数组,则返回true,如果o是类数组对象,则返回false。varisArray=$.isArray(['hi','hello','Hello']),isArray2=$.isArray($('div'));console.log(isArray);console.log(isArray2);isEmptyObject(o):如果o是一个没有属性的JavaScript对象,则返回true,否则返回false,其中的属性包括从prototype继承的属性。我们可以用它来做空对象的判断。varisEmptyObject=$.isEmptyObject({}),isEmptyObject2=$.isEmptyObject({'a':1});console.log(isEmptyObject);console.log(isEmptyObject2);上面的类数组转换$.isArray($('div'));返回假。它表明$('div')返回的不是我们已知的数组。如果你想让它成为一个数组怎么办?get()和toArray()都可以做到。varisArray=$.isArray($('div')),isArray2=$.isArray($('div').get()),isArray3=$.isArray($('div').toArray());console.log(isArray);console.log(isArray2);console.log(isArray3);
