> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트와 jquery의 차이점은 무엇인가요?

자바스크립트와 jquery의 차이점은 무엇인가요?

青灯夜游
풀어 주다: 2023-01-07 11:47:25
원래의
2520명이 탐색했습니다.

차이점: 1. JavaScript는 경량 프로그래밍 언어인 반면 JQuery는 JavaScript 함수 라이브러리입니다. 2. js는 DOM 메서드를 사용하여 요소 노드를 생성하고 jQuery는 $를 사용하여 DOM 요소를 직접 생성할 수 있습니다. 4. 속성 노드를 작동하는 방법이 다릅니다.

자바스크립트와 jquery의 차이점은 무엇인가요?

이 튜토리얼의 운영 환경: windows7 시스템, javascript1.8.5&&jquery1.10.0 버전, Dell G3 컴퓨터.

1. 본질적인 차이점

1. JavaScript는 <script></script> 태그를 통해 HTML 페이지에 삽입되는 경량 프로그래밍 언어입니다.

2.JQuery는 JavaScript 함수 라이브러리입니다. 즉, JavaScript에서 가장 널리 사용되는 프레임워크입니다.

JQuery를 사용하려면 먼저 HTML 코드 시작 부분에 jQuery 라이브러리에 대한 참조를 추가해야 합니다. 알려진 회사의 장점은 이러한 대기업의 CDN이 상대적으로 인기가 있다는 것입니다. 사용자가 귀하의 웹사이트를 방문하기 전에 다른 웹사이트를 방문할 때 브라우저에 캐시될 가능성이 높기 때문에 웹사이트 열기 속도를 높일 수 있습니다. 또 다른 이점은 웹 사이트 트래픽 대역폭을 절약한다는 점입니다. 예:

<script src="js/jquery.min.js"></script>
로그인 후 복사

2. 구문의 차이점

1. 요소 노드를 작동하는 다양한 방법 a JavaScript는

getElement 시리즈, 쿼리 시리즈

<script src=></script>  //Google

或者:

<script src="http://code.jquery.com/jquery-1.6.min.js"></script>   //jQuery 官方 
로그인 후 복사

b를 사용합니다. lot 선택기는 선택기를 래핑하기 위해 $()도 사용합니다

<body>
    <ul>
        <li id="first">哈哈</li>
        <li class="cls" name ="na">啦啦</li>
        <li class="cls">呵呵</li>
        <li name ="na">嘿嘿</li>
    </ul>
    <div id="div">
        <ul>
            <li class="cls">呵呵</li>
            <li>嘿嘿</li>
        </ul>
    </div>
</body>
<script>
  document.getElementById("first");        //是一个元素
  document.getElementsByClassName("cls");    //是一个数组,即使只有一个元素,使用时需要用[0]取到第一个再使用
  document.getElementsByName("na");       //是一个数组,即使只有一个元素,使用时需要用[0]取到第一个再使用  
  document.getElementsByTagName("li");     //是一个数组,即使只有一个元素,使用时需要用[0]取到第一个再使用  
  document.querySelector("#div");        //是一个元素   
  document.querySelectorAll("#div li");    //是一个数组,即使只有一个元素,使用时需要用[0]取到第一个再使用
</script
로그인 후 복사

2. 속성 노드를 작동하는 방법은 다릅니다

a. JavaScript는

getAttribute("속성 이름"), setAttribute("를 사용합니다. Attribute Name" , "Attribute value")

<body>
    <ul>
        <li id="first">哈哈</li>
        <li class="cls" name ="na">啦啦</li>
        <li class="cls">呵呵</li>
        <li name ="na">嘿嘿</li>
    </ul>
    <div id="div">
        <ul>
            <li class="cls">呵呵</li>
            <li>嘿嘿</li>
        </ul>
    </div>
</body>
<script src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script>  //使用JQuery取到的是jquery对象都是一个数组,即使只有一个元素被选中,但是在使用时候不一定需要使用:eq(0)来拿到这一个在使用可以直接使用
    $("#first");            
    $(".cls");
    $("li type[name=&#39;na&#39;]");
    $("li");

    $("#div");
    $("#div li");
</script>
로그인 후 복사

b.JQuery는

.attr()을 사용하여 하나의 매개변수를 전달하여 이를 가져오고 두 개의 매개변수를 전달하여 .prop()

prop 및 attr은 텍스트 속성을 수정하고 설정할 수 있습니다.

둘 사이의 차이점은 선택됨, 비활성화됨 및 속성 이름 = 속성 값을 갖는 기타 속성을 읽을 때입니다. ​

attr은 속성 값 또는 정의되지 않음을 반환합니다. selected 속성은 선택 여부에 따라 달라지지 않으며

prop를 변경하면 true와 false가 반환됩니다. attr에 의해 얻어지는 속성은 라벨에 적힌 속성이어야 합니다. 그렇지 않으면 얻을 수 없습니다.

<body>
    <ul>
        <li id=>哈哈</li>
    </ul>
</body>
<script>).getAttribute().setAttribute(,  document.getElementById("first").removeAttribute("name");
</script>
로그인 후 복사

3. JavaScript는

innerHTML을 사용합니다. 노드의 HTML 코드를 설정하면 CSS를 가져와서 텍스트 형식으로 반환할 수 있습니다

innerText: 가져오기 또는 노드의 HTML 코드를 설정하고 CSS를 가져올 수 없음value: input[type으로 입력한 텍스트 가져오기 ='text']

<body>
    <ul>
        <li id="first">哈哈</li>
    </ul>
</body><script src="js/jquery.js"></script>
<script>
  $("#first").attr("id");
  $("#first").attr("name","nafirst");  $("#first").removeAttr("name");
  $("#first").prop("id");   $("#first").prop("name","nafirst");   $("#first").removeProp("name");
</script>
로그인 후 복사

b.JQuery는

.html()을 사용하여 노드를 가져오거나 설정합니다. HTML 코드

.text()는 노드의 텍스트를 가져오거나 설정합니다.

.val()은 가져오거나 설정합니다. 입력의 값 속성 값

<body>
    <ul>
        <li id="serven_times" ><span style="color: chartreuse">嘿嘿</span></li>
        <li id="eight_times" ><span style="color: chartreuse">嘿嘿</span> </li>
    </ul>
     姓名:<input type="text" id="input">
</body>
<script>
    document.getElementById("serven_times").innerHTML;
    document.getElementById("serven_times").innerHTML = "<span style=&#39;color: #ff3a29&#39;>呵呵</span>";
    document.getElementById("eight_times").innerText;
    document.getElementById("eight_times").innerText = "啦啦";
    document.getElementById("input").value;
</script>
로그인 후 복사

4. CSS 스타일을 작동하는 방법이 다릅니다

JavaScript:

<body>
    <ul>
        <li id="serven_times" ><span style="color: chartreuse">嘿嘿</span></li>
        <li id="eight_times" ><span style="color: chartreuse">嘿嘿</span> </li>
    </ul>
     姓名:<input type="text" id="input">
</body>
<script src="/js/jquery.min.js"></script>
<script>
    $("#serven_times").html();
    $("#serven_times").html("<span style=&#39;color: #ff3a29&#39;>呵呵</span>");
    $("#eight_times").text();
    $("#eight_times").text("啦啦");
    $("#input").val();
    $("#input").val("哈哈");
</script>
로그인 후 복사

JQuery:
* 1.使用setAttribute设置class和style
*   document.getElementById("first").setAttribute("style","color:red");
* 2.使用.className添加一个class选择器
*   document.getElementById("third").className = "san";
* 3.使用.style.样式直接修改单个样式。注意样式名必须使用驼峰命名法
*   document.getElementById("four_times").style.fontWeight = "900";
* 4.使用.style或.style.cssText添加一串行级样式:
*   document.getElementById("five_times").style = "color: blue;";//IE不兼容
*   document.getElementById("six_times").style.cssText = "color: yellow;font-size : 60px;";
로그인 후 복사

5. :

$("#p2").css("color","yellow");

$("#p2").css({
    "color" : "white",
    "font-weight" : "bold",
    "font-size" : "50px",
});
로그인 후 복사
JQuery:

1. 다수의 선택기를 제공합니다:

: first-child : first-of-type

1.9+

:last-child


:last -of-type
    1.9+
  • :nth-child

    :nth-last-child()
  • 1.9+
  • :nth-last-of-type()1.9+

  • :nth-of-type()
  • 1.9+
  • :only-child
  • : only-of-type1.9+

  • 2. 또한 제공됩니다:

  • first() 

  • last() 

    children() 

parents() 
  • parent() 
  • 남매()
  • 6. 노드에 이벤트 바인딩

  • JavaScript:

    Dom0 이벤트 모델 및 Dom2 이벤트 모델 사용, 자세한 내용은 내 마지막 블로그를 참조하세요.
  • JQuery:

     ①.
  • 이벤트 바인딩 단축키

*1.childNodes:获取当前节点的所有子节点(包括元素节点和文本节点)
*  children:获取当前节点的所有元素子节点(不包括文本节点)
*2.parentNode:获取当前节点的父节点
*3.firstChild:获取第一个元素节点,包括回车等文本节点
*  firstElementChild:获取第一个元素节点,不包括回车节点
*  lastChild、lastElementChild 同理
*4.previousSibling:获取当前元素的前一个兄弟节点
*  previousElementSibling::获取当前元素的前一个兄弟节点
*  nextSibling、nextElementSibling
로그인 후 복사
②: 이벤트 바인딩에는 on을 사용하세요
<body>
    <button>按钮</button>
</body>
<script src="js/jquery-1.10.2.js"></script>
<script>
     $("button:eq(0)").click(function () {
        alert(123);
     });</script>
로그인 후 복사

7.JQuery의 문서 지원 기능과 window.onload

<body>
    <button>按钮</button>
</body>
<script src="js/jquery-1.10.2.js"></script>
<script>
    //①使用on进行单事件的绑定
     $("button:eq(0)").on("click",function () {
        alert(456);
    });
     //②使用on同时给同一对象绑定多个事件
    $("button:eq(0)").on("click dblclick mouseover",function () {
        console.log(123);
    });
    //③使用on,给一个对象绑定多个事件
    $("button:eq(0)").on({
        "click":function () {
            console.log("click");
        },
        "mouseover":function () {
            console.log("mouseover");
        },
        "mouseover":function () {
            console.log("mouseover2");
        }
    });
    //④使用on给回调函数传参,要求是对象格式,传递的参数可以在e.data中取到;jquery中的e只能通过参数传进去,不能用window.event
    $("button:eq(0)").on("click",{"name":"zhangsan","age":15},function (e) {
        console.log(e);
        console.log(e.data);
        console.log(e.data.name);
        console.log(e.data.age);
        console.log(window.event);//js中的事件因子

    });
    
</script>
로그인 후 복사

3의 차이점은 JavaScript 개체와 JQuery 개체의 메서드를 혼합할 수 없다는 것입니다.

1. JavaScript 개체와 JQuery 개체

*①.window.onload必须等待网页资源(包括图片等)全部加载完成后,才能执行;
*      而文档就绪函数只需要等到网页DOM结构加载完成后,即可执行
*②.window.onload在一个页面中,只能写一次,写多次会被最后一次覆盖
*      而文档就绪函数在一个页面中可以有N个
로그인 후 복사
2. JavaScript 개체와 JQuery 개체 상호 변환

*① JQuery --->  JavaScript :使用get(index)或者[index]选中的就是JavaScript对象
*  $("p").get(0).onclick = function(){}
*  $("p").[0].onclick = function(){}
* ② JavaScript ---> JQuery :使用$()包裹JavaScript对象        (我们发现JQuery不管获得几个对象都是一个数组,可以直接给整个数组都添加某一事件)
*  var p = document.getElementById("p");
*  $(p).click(function(){});
로그인 후 복사

【推荐学习:javascript高级教程

위 내용은 자바스크립트와 jquery의 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿