`
zhijian
  • 浏览: 5578 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jQuery的三种$()

 
阅读更多
$号是jQuery“类”的一个别称,$()构造了一个jQuery对象。所以,“$()”可以叫做jQuery的构造函数(个人观点,呵呵!)。
 
 
1、$()可以是$(expresion),即css选择器、Xpath或html元素,也就是通过上述表达式来匹配目标元素。 
比如:$("a")构造的这个对象,是用CSS选择器构建了一个jQuery对象——它选择了所有的<a/>这个标签。如: 
$("a").click(function(){...}) 
就是在点击页面上的任何一个链接时的触发事件。确切地说,就是jQuery用<a/>这个标签构建了一个对象$("a"),函数 click()是这个jQuery对象的一个(事件)方法。 

比如有这样一段HTML代码: 

复制代码代码如下:

<p>one</p> 
<div> 
<p>two</p> 
</div> 
<p>three</p> 
<a href="#" id="test" onClick="jq()" >jQuery</a> 


而操作这段HTML的是如下一条语句: 
alert($("div>p").html()); 

$()中的是一个查询表达式,也就是用“div>p”这样一个查询表达式构建了一个jQuery对象,然后的“html()”意思是显示其html内容,也就是上面HTML代码段的[two]。再如: 
$("<div><p>Hello</p></div>").appendTo("body"); 
$()中的是一个字符串,用这样一段字串构建了jQuery对象,然后向<body/>中添加这一字串。 

2、$()可以是$(element),即一个特定的DOM元素。如常用的DOM对象有document、location、form等。如这样一行代码: 
$(document).find("div>p").html()); 
$()中的document是一个DOM元素,即在全文寻找带<p>的<div>元素,并显示<p>中的内容。 
3、$()可以是$(function),即一个函数,它是$(document).ready()的一个速记方式。如常见的形式是这样的: 
$(document).ready(function(){ 
alert("Hello world!"); 
}); 
可变形作: 
$(function(){ 
alert("Hello world!"); 
}); 

对于选择HTML文档中的elements,jQuery有两种方法: 
1)如$("div>ul a"),它的意思是div标签中的ul标签中的a标签 
不过,$('div>ul')和$('div ul')是有区别的, 


$('div>ul')是<div>的直接后代里找<ul>; 
而$('div ul')是在<div>的所有后代里找<ul>。 



2)用jQuery对象的几个方法(如方法find()、each()等) 
$("#orderedlist).find("li") 就像 $("#orderedlist li"). each()一样迭代了所有的li,而表达式中的“#”表示HTML中的ID,如上例中的“#orderedlist”就表示“ID为orderedlist所在的标签”。 

**************************************************************** 

1、标签选择器$('p')、类选择器$('.myClass')、id选择器$('#myId')相对简单,不多说。不过有一点——$('div>ul')和$('div ul')是有区别的, 
$('div>ul')是<div>的直接后代里找<ul>;而$('div ul')是在<div>的所有后代里找<ul>。 
所以,$('#sId>li')所选择的是id为"sId"的所有<li>孩子节点,即使这个<li>的后代还有<li>也不是它所找的范围(所找到的DOM对象,只是它本级的DOM对象。)。而$('#sId li:not(.horizontal)'),就是指类名"sId"里面的所有li的子孙中没有horizontal类的所有元素。——这里的not()是一个negation pseudo class. 
这里返回的是一个jQurey对象,一个数组对象,这个jQuery对象的长度可用.length()得到。 
2、XPath选择器 
如:选择所有带有title 属性的链接,我们会这样写:$('a[@title]') 
[]里带@,说明[]里的是元素的属性;是个属性选择器 
[]里没@,说明[]里的是元素的子孙。 
$('ul li')和$('ul[li]')虽然返回的都是一个jQuery数组,但两者的含义正好相反。前者是要找<ul>下所有<li>子孙,而后者却是在找所有子孙为<li>的<ul>数组。 
在XPath中,要找一个“以...开头”的属性,用^=,如找一个name属性是以mail开头的input元素,就用 
$('input[@name^="mail"]') 
要找一个“以...结尾”的属性,要用$= 
要找一个“不头不尾”的属性,用*= 

3、不属于上述的CSS和XPath的选择器,就是自定义的选择器了,用“:”表示,这里要用的就是:first,:last,:parent ,:hidden,:visible,:odd,:even,:not('xxx'), ":eq(0)"(始于0),:nth(n),:gt(0),:lt(0),:contains("xxx") 
如:$('tr:not([th]):even')意为<tr>元素的子孙中不含<th>的所有子孙的偶数项 

4、还有几个,简单不解释了 
$('th').parent()—— 
$('td:contains("Henry")').prev()——内容包含有"Henry"的<td>的上一个节点 
$('td:contains("Henry")').next()——内容包含有"Henry"的<td>的下一个节点 
$('td:contains("Henry")').siblings()——内容包含有"Henry"的<td>的所有兄弟节点 
还有一个,就是end(),这个方法肯定是用在某个DOM节点执行了某一动作之后,还想在与其相关的节点上执行类似动作,这里就要用到end()。用过end()方法之后,所返回的是执行动作的那个节点的父节点上。举个例子 
$(...).parent().find(...).addClass().end() 
这里执行动作的节点是find(...),是一个数组对象,它所做的动作是“addClass()”,之后,用了个end(),这时所返回的东东就是指向了parent()所指向的节点,也就是执行“addClass()”动作的那个数组对象的父节点。 

5、要直接访问DOM元素,可用get(0)的方法,如 
$('#myelement').get(0),也可缩写成$('#myelement')[0]
分享到:
评论

相关推荐

    在jQuery中使用$而避免跟其它库产生冲突的方法

    总结以上三种方法,都是为了在引入了多个JavaScript库的情况下,能够安全地使用jQuery的$符号而不与其他库产生冲突。这些方法各有优势和不足,可以根据具体情况和需求选择适合的解决方案。在实际开发过程中,推荐...

    jquery三种版本.zip

    《jQuery的三种主要版本详解》 在Web开发领域,jQuery是一个不可或缺的JavaScript库,它以其简洁的API和强大的功能赢得了开发者们的广泛喜爱。本篇文章将深入探讨jQuery的三种主要版本:1.x,2.x和3.x,以及它们...

    jquery.alerts 弹出框

    `jQuery.alerts` 是一个基于 jQuery 的插件,它提供了自定义样式的对话框功能,包括警告、确认和提示(alert、confirm 和 prompt)三种基本类型。这个插件旨在替代浏览器默认的简单对话框,为用户提供更加美观和交互...

    jquery的三种ajax上传组件

    本篇文章将深入探讨jQuery中的三种Ajax上传组件,它们是实现无刷新文件上传的关键技术。 1. **jQuery Form Plugin (jquery.form.js)** `jquery.form.js` 是一个插件,扩展了jQuery的核心功能,提供了方便的Ajax...

    jQuery第三章代码

    **jQuery第三章代码详解** jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。本章我们将深入探讨jQuery的核心概念、语法特性以及实际应用,帮助你更好地理解和掌握...

    jquery三维动画旋转按钮

    本教程将深入探讨如何利用jQuery创建一个三维动画旋转按钮,这个功能可以为用户界面增添动态性和吸引力。 首先,我们需要了解jQuery的基本用法。jQuery对象通过$函数创建,它可以用来选择DOM元素、操作DOM、添加...

    jquery ajax 三级联动

    "三级联动"是一种常见的功能,特别是在处理地理位置数据时,如省、市、区的选择。在这个场景下,用户选择一个省份后,相关的城市会自动加载;接着选择城市,对应的区县又会动态显示出来。这种功能在注册、地址填写等...

    jQuery+ajax实现三级级联

    在这个“jQuery+ajax实现三级级联”的实例中,我们主要探讨如何利用这两种技术来创建一个能够逐级联动的下拉菜单系统,这在数据筛选和表单填写中十分常见,如地区选择、部门分类等场景。 首先,jQuery是一个轻量级...

    jQuery左侧下拉三级收缩菜单_jQuery左侧下拉三级收缩菜单_

    本篇将深入讲解如何利用jQuery实现一个功能完善的左侧下拉三级收缩菜单。 首先,让我们理解菜单的基本结构。在HTML中,我们通常会创建一个`&lt;ul&gt;`元素作为菜单的基础框架,每个层级的菜单项由`&lt;li&gt;`元素表示,一级...

    jQuery模拟select下拉框三级城市联动代码.zip

    这个"jQuery模拟select下拉框三级城市联动代码.zip"压缩包提供的就是一个使用jQuery库来实现这种效果的示例。这里我们将深入探讨相关知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件...

    jquery的几种使用方法

    本篇文章将详细探讨jQuery的几种使用方法,帮助你更好地理解和运用这一强大的工具来提升网页设计的效率和用户体验。 1. **DOM操作**:jQuery的核心功能之一就是对HTML文档对象模型(DOM)进行操作。通过选择器,如`...

    jquery三级联动树

    标题中的"jQuery三级联动树"就是一个利用jQuery库实现的,可以展示省、市、县(或区)三级递进关系的下拉菜单系统。 jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax...

    Jquery三级折叠菜单示例

    在“Jquery三级折叠菜单”中,通常会将菜单项组织成嵌套的`&lt;ul&gt;`和`&lt;li&gt;`结构,每级菜单对应一个`&lt;ul&gt;`,每个菜单项是`&lt;li&gt;`。例如: ```html 一级菜单1 二级菜单1.1 三级菜单1.1.1 三级菜单1.1.2 二...

    jquery三级地址联动

    本文将深入探讨如何使用jQuery实现全国省市县三级地址联动的效果,这是一种常见的前端交互功能,常用于物流、电商等需要...以上就是关于“jquery三级地址联动”的实现原理和步骤,希望对你在实际项目开发中有所帮助。

    jQuery三维倾斜的滚动效果.zip

    总之,"jQuery三维倾斜的滚动效果"是一种创新的网页设计手法,通过"jquery.tiltedpage-scroll"插件,开发者可以轻松实现富有动态感的滚动体验。结合HTML结构和CSS样式,可以打造出独特的、引人入胜的网页界面。然而...

    Jquery 省市县三级联动插件(三种总有一款适合你)

    本篇文章将详细探讨标题提及的三种Jquery插件,帮助开发者选择最适合自己的方案。 1. **jQuery-city57320160427.zip** 这个插件可能是一个简单的省市县联动解决方案,基于jQuery构建。它的特点可能在于轻量级和...

    基于JQuery地区三级联动列表

    标题 "基于JQuery地区三级联动列表" 涉及的核心技术是使用JavaScript库JQuery来实现前端交互功能,特别是处理动态数据和用户交互。在这个场景中,它涉及到一个常见的前端需求,即创建一个地区选择器,这个选择器通常...

    Jquery演示 jquerydemo jquery常用

    ### 三、事件处理 jQuery简化了事件绑定。`$(element).click(function(){...})`用于绑定点击事件,`$(element).on('event', function(){...})`则支持多种事件,如`'mouseover'`, `'mouseout'`, `'keydown'`等。同时...

    jQuery三级滑动菜单

    本项目是“jQuery三级滑动菜单”,旨在利用JavaScript库jQuery创建一个灵活、易定制的多级导航菜单。下面将详细讲解这个项目的实现原理及关键知识点。 一、jQuery库的引入与基本使用 jQuery是一个轻量级的...

Global site tag (gtag.js) - Google Analytics