JQuery

Posted Lyy11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery相关的知识,希望对你有一定的参考价值。

jQuery是一个快速、简洁的javascript框架的,它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化html文档操作、事件处理等等

<script type="text/javascript"> window.onload = function ({      var btnObj = document.getElementById("btnId")        alert(btnObj)      btnObj.onclick = function ({        alert("js 原生的单击事件")      }    }</script>

这是原生的Javascript代码 点击id为"btnId"的button执行。

 <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>  <script type="text/javascript"> $(function () { // 表示页面加载完成 之后,相当 window.onload = function () {} var $btnObj = $("#btnId"); // 表示按id查询标签对象 $btnObj.click(function () { // 绑定单击事件 alert("jQuery 的单击事件"); }); });</script>

这是JQuery封装后的JS代码,需引入jquery-x.x.x.js

JQuery大量运用"$","$"的作用如下:

 //传入参数为[函数]时:在文档加载完成后执行这个函数 //传入参数为[HTML字符串]时:根据这个字符串创建元素节点对象 //传入参数为[选择器字符串]时:根据这个字符串查找元素节点对象 //传入参数为[DOM对象]时:将DOM对象包装为jQuery对象返回
$(" <div>" + " <span>div-span1</span>" + " <span>div-span2</span>" + " </div>").appendTo("body");

如上便是先连接HTML字符串,再为此"字符串"作为HTML执行,将此对象加入到body的末尾

$(function () { alert("页面加载完毕!") })

上图是等待页面加载完毕后才执行

"$"作为选择器最常用,基本语法是 $("#id")id选择器 $("标签名")标签选择器 $(".class")类选择器,除此还有$(":text") $("select option:selected")等等等等,作用等同于JS原生代码的document.getElementById/getElementsByName等函数,都是查找对象。

ancestor descendant 后代选择器 :在给定的祖先元素下匹配所有的后代元素 parent > child 子元素选择器:在给定的父元素下匹配所有的子元素 prev + next 相邻元素选择器:匹配所有紧接在 prev 元素后的 next 元素 prev ~ sibings 之后的兄弟元素选择器:匹配 prev 元素之后的所有 siblings 元素

除以上还有内容过滤器 属性过滤器 基本过滤器 表单过滤器等等

JQuery对象实质就是DOM对象+JQuery方法(函数),两者可以互转。

var $xxx=$(DOM对象)var DOM=$(DOM对象)[下标]
html() 它可以设置和获取起始标签和结束标签中的内容。 跟 dom 属性 innerHTML 一样。 text() 它可以设置和获取起始标签和结束标签中的文本。跟 dom 属性 innerText 一样。val() 它可以设置和获取表单项的 value 属性值。跟 dom 属性 value 一样
attr() 可以设置和获取属性的值,不推荐操作 checked、readOnly、selected、disabled 等等 attr 方法还可以操作非标准的属性。比如自定义属性:abc,bbj prop() 可以设置和获取属性的值,只推荐操作 checked、readOnly、selected、disabled 等等

以上为基本的属性操作,可以获得和修改html标签内的属性值

以下为一个表单增删改操作列子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Untitled Document</title><link rel="stylesheet" type="text/css" href="styleB/css.css" /><script type="text/javascript" src="../../script/jquery-1.7.2.js"></script><script type="text/javascript"> $(function () { var t=3; $("#addEmpButton").click(function () { var $name=$(":text[name='empName']").val(); var $email=$(":text[name='email']").val(); var $sal=$(":text[name='salary']").val(); if($name!=null && $email!=null && $sal!=null){ t++; var $add=$("<tr id='"+ t+'t' +"'>\n" + "<td>"+$name+"</td>" + "<td>"+$email+"</td>" + "<td>"+$sal+"</td>" + "<td><a href='javascript:void(0)'>Delete</a></td>" + "</tr>") $add.appendTo($("#employeeTable")); $add.find("a").click(del) } }) del=function(){ // 转成JQuery元素 var $pp=$(this).parent().parent(); var ok=confirm("确认删除数据吗?") if(ok){ $pp.remove() } } $("a").click(del); })</script></head><body> <table id="employeeTable"> <tr> <th>Name</th> <th>Email</th> <th>Salary</th> <th>&nbsp;</th> </tr> <tr id="1t"> <td>Tom</td> <td>tom@tom.com</td> <td>5000</td> <td><a href="javascript:void(0)">Delete</a></td> </tr> <tr id="2t"> <td>Jerry</td> <td>jerry@sohu.com</td> <td>8000</td> <td><a href="javascript:void(0)">Delete</a></td> </tr> <tr id="3t"> <td>Bob</td> <td>bob@tom.com</td> <td>10000</td> <td><a href="javascript:void(0)">Delete</a></td> </tr> </table> <div id="formDiv"> <h4>添加新员工</h4> <table> <tr> <td class="word">name: </td> <td class="inp"> <input type="text" name="empName" id="empName" /> </td> </tr> <tr> <td class="word">email: </td> <td class="inp"> <input type="text" name="email" id="email" /> </td> </tr> <tr> <td class="word">salary: </td> <td class="inp"> <input type="text" name="salary" id="salary" /> </td> </tr> <tr> <td colspan="2" align="center"> <button id="addEmpButton" value="abc"> Submit </button> </td> </tr> </table> </div></body></html>

del()执行完超链接a会自动跳转,防止自动跳转可以return false或者把超链接改为javascript:void(0) void(0)运行结束不返回任何值

运行结果,可以添加和删除记录




以上是关于JQuery的主要内容,如果未能解决你的问题,请参考以下文章

markdown 在WordPress中使用jQuery代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

很实用的JQuery代码片段(转)

几个有用的JavaScript/jQuery代码片段(转)

几个非常实用的JQuery代码片段

高效Web开发的10个jQuery代码片段