JS和jQuery用法区别

外观区别

jQuery与JS最直观的区别就是外观上jQuery对象比js对象多了"$()"。

查找元素

js方法:
var  a  = document.getElementById("id名"); 返回一个对象
var  a  = document.getElementsByClassName("class名"); 返回一个对象数组
var a = document.getElementsByTagName("标签名"); 返回一个对象数组
var  a  = document.getElementsByName("name名"); 返回带有指定名称的对象的集合。


Jquery方法:
var a = $("#id名");
var a = $(".class名");
var a = $("标签名");
var a = $("[属性名=属性值]");

操作标签

js:
classList.add("类名");
classList.remove("类名");
classList.contains(cls) 存在返回true,否则返回false
classList.toggle(cls) 存在就删除,否则添加

jquery:
$("div").addClass("a1") 添加类名
$("div").removeClass("a1") 移除
$("div").hasClass("a1")
$("div").toggleClass("a1")

操作内容

js方法:

    (1).非表单元素:
        a.innerText; 获取文本
        a.innerHTML; 获取HTML代码

    (2).表单元素:
        a.value; 获取
        a.value="hello"; 赋值

Jquery方法:

    (1).非表单元素:
        a.text(); //取得第一个匹配元素
        a.text("bbbbb");
        a.html(); //取得第一个匹配元素当前的html内容
        a.html("<div class="a"></div>") // 覆盖所有匹配元素的html内容

    (2).表单元素:
        a.val();无参数是取值,有参数是赋值。

操作属性

JS里面用来操作属性的方法:

div.setAttribute("","");——设置属性、修改属性

div.removeAttribute("");——移除属性,引号里面写一个属性名

div.getAttribute();——获取属性


jQuery里面用来操作属性的方法:

自定义属性:

添加属性:div.attr({k1: v1, k2:v2});——给这个attr方法加入参数,属性名叫做test,属性的值是aa。

移除属性:div.removeAttr("test");——移除test这条属性。

获取属性:div.attr("test");——在attr方法里面直接写入一个属性的名就可以了。
------------------------------------------------------------------------

固有属性:

a.prop("属性名","属性值");            添加属性

a.removeProp("属性名");             删除属性

alert(a.prop("属性名"));               获取属性

a.prop("checked",true);

alert(a.prop("checked"));            选择点击事件

操作位置

js:
offsetLeft、offsetTop属性:只可获取,不可设置(类似jQuery的position()方法)
style.left、style.top:既可设置,也可获取。

jquery:
position() 方法:只能获取,不能设置
offset()方法:既能获取,也能设置。获取和设置元素相对于文档的偏移量
scrollLeft()、scrollTop(),滚动方法:既能获取,也能设置
$(element).scrollLeft(200); //设置元素滚动的left值

操作样式


JS里面操作样式的关键字是style。
例:

div.style.backgroundColor= "red";
把这个div的背景色设置成为了红色。


jQuery里面操作样式的关键字是css。
例:

div.css("background-color","yellow");
把这个div的背景色变为黄色,在这里CSS里面所有的样式和css样式表里面的样式是一模一样的没有任何变化。

注意:
JS操作样式的方法只能获取内联样式,不能取内嵌的和外部的。
jQuery操作样式的方法可以是内联的也可以是内嵌的。

事件

js:
方式一:
    <div id="d1" onclick="changeColor(this);">点我</div>
    <script>
    function changeColor(ths) {
       ths.style.backgroundColor="green";
    }
    </script>
方式二:
    <div id="d2">点我</div>
    <script>
    var divEle2 = document.getElementById("d2");
    divEle2.onclick=function () {
    this.innerText="呵呵";
    }
    </script>

jQuery:
        <input type="button" id="mybutton" value="点我">
        <script>
            $(function(){
                $("#mybutton").on("click",function(e){
                alert(e.type)
            //在触发该事件的时候,系统会给传给你这个参数,他包含了触发该事件的一些信息
            //这里e指代event
            })
            })
        </script>
02-13 19:46