原生js是前端必备的基础知识,而jQuery是为了更简单的获取Dom,操作Dom,完成js的功能的一个封装的js库,它可以让我们用更少的代码完成与原生js一样的功能,这里就出现了对Dom元素操作时,原生js的方法和jQuery库中封装的方法的名称是不一样的,js对象和jQuery对象的方法不能互用,但在实际操作中,有一些方法,会比较容易用混,以下就是我在实际编程中容易用混的几个方法
一、innerHTML和html(),innerText和text()
innerHTML和innerText是js中Dom元素获取或赋值的方法,innerHTML与innerText的区别是innerHTML可以获取和赋值Dom元素,而innerText不可以。
html()和text()则是jQuery对象获取或赋值的方法,区别同上
具体用法:
<body><div class=\"app\">我是测试数据</div><script>// js方法获取值var data=document.querySelector(\".app\");console.log(data.innerHTML);// jQuery方法获取值console.log($(\".app\").html());// js方法赋值data.innerHTML=\'我是js变化后的值\'console.log(data.innerHTML);// jQuery方法赋值$(\".app\").html(\"我是jQuery变化后的值\")console.log($(\".app\").html());</script></body>
对应的innerText和text()用法同上
二、value和val()
value是js对象给表单获取和赋值的方法,对应的val()则是jQuery对象给表单获取和赋值的方法
具体用法:
<input type=\"text\" value=\"123\"><script>// js方法获表单取值var input=document.querySelector(\"input\");console.log(input.value);// jQuery方法获取表单值console.log($(\"input\").val());// js方法表单赋值input.value=789;console.log(input.value);// jQuery方法表单赋值$(\"input\").val(456);console.log($(\"input\").val());</script>
三、自定义属性的3个方法
js对象的自定义属性的操作方法:
js对象.setAttribute(\”\”,\”\”);——设置属性、修改属性
js对象.removeAttribute(\”\”);——移除属性,引号里面写一个属性名
js对象.getAttribute();——获取属性
jQuery对象的自定义属性的操作方法:
添加属性:jQuery对象.attr(“test”,“aa”);——给这个attr方法加入参数,属性名叫做test,属性的值是aa
移除属性:jQuery对象.removeAttr(“test”);——移除test这条属性
获取属性:jQuery对象.attr(“test”);——在attr方法里面直接写入一个属性的名就可以了
添加自定义属性:
<div class=\"test1\"></div><div class=\"test2\"></div><script>// js方法添加自定义属性var test1=document.querySelector(\".test1\");test1.setAttribute(\"test1\",\"aa\");// jQuery方法添加自定义属性$(\".test2\").attr(\"test2\",\"bb\");</script>
删除自定义属性:
<div class=\"test1\"></div><div class=\"test2\"></div><script>// js方法添加自定义属性var test1=document.querySelector(\".test1\");test1.setAttribute(\"test1\",\"aa\");// jQuery方法添加自定义属性$(\".test2\").attr(\"test2\",\"bb\");// js方法删除自定义属性test1.removeAttribute(\"test1\");// jQuery方法删除自定义属性$(\".test2\").removeAttr(\"test2\")</script>
获取自定义属性:
<div class=\"test1\"></div><div class=\"test2\"></div><script>// js方法添加自定义属性var test1=document.querySelector(\".test1\");test1.setAttribute(\"test1\",\"aa\");// jQuery方法添加自定义属性$(\".test2\").attr(\"test2\",\"bb\");// // js方法删除自定义属性// test1.removeAttribute(\"test1\");// // jQuery方法删除自定义属性// $(\".test2\").removeAttr(\"test2\")// js方法获取自定义属性console.log(test1.getAttribute(\"test1\"));// jQuery方法获取自定义属性console.log($(\".test2\").attr(\"test2\"));</script>
目前遇到这些,以后再遇到js和jQuery方法容易的弄混的例子会随时更新!
不积硅步,无以至千里!