`
wlo_o
  • 浏览: 50512 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

jquery几种页面元素定位及操作的方法

阅读更多

jQuery提供两种方式来选择htmlelements,第一种是用CSSXpath选择器联合起来形成一个字符串来传送到jQuery的构造器(如:$("div > ul a"));第二种是用jQuery对象的几个methods(方法)。这两种方式还可以联合起来混合使用。我们来试着在我们的test.html代码中选择并修改第一个ordered list.一开始,我们需要选择这个list本身,这个list有一个ID“orderedlist”,通常的javascript写法是document.getElementById("orderedlist").jQuery中,代码如下:

$(document).ready(function() {

        $("#orderedlist").addClass("red");

});

若将一个CSS样式blue附加到了orderedlist上,在你刷新了test.html后,你将会看到第一个有序列表(ordered list )背景色变成了蓝色,而第二个有序列表没有变化.

代码如下:

$(document).ready(function() {

        $("#orderedlist > li").addClass("blue");

});

这样,所有orderedlist中的li都附加了样式"blue"。如果要实现把鼠标放在li对象上面和移开时进行样式切换,但只在list的最后一个element上生效。

$(document).ready(function() {

        $("#orderedlist li:last").hover(function() {

               $(this).addClass("green");

        }, function() {

               $(this).removeClass("green");

        });

});

find() 让你在已经选择的element中作条件查找,因此 $("#orderedlist).find("li") 就像 $("#orderedlist li")一样。each()方法迭代了所有的li,并可以在此基础上作更多的处理。 大部分的方法,addClass(), 都可以用它们自己的 each() html()用来获取每个lihtml文本追加一些文字,并将之设置为lihtml文本。

jQuery 提供了filter() not() 两个方法。 filter()以过滤表达式来减少不符合的被选择项, not()则用来取消所有符合过滤表达式的被选择项考虑一个无序的list,你想要选择所有的没有ul子元素的li元素。

$(document).ready(function() {

        $("li").not(":has(ul)").css("border", "1px solid black");//原文为$("li").not("[ul]").css("border", "1px solid black");

});

这个代码选择了所有的li元素,然后去除了有ul子元素的li元素。刷新浏览器后,所有的li元素都有了一个边框,只有ul子元素的那个li元素例外。

上面代码中的[expression] 语法是从XPath而来,可以在子元素和属性(elements and attributes)上用作过滤器,比如你可能想选择所有的带有name属性的链接:

$(document).ready(function() {

        $("a[name]").css("background-color","#eee"); //原文为“$("a[@name]").background("#eee");”jQuery1.2及以上版本中,@符号应该去除,background方法被css方法取代

});

这个代码给所有带有name属性的链接加了一个背景色。

更常见的情况是以name来选择链接,你可能需要选择一个有特点href属性的链接,这在不同的浏览器下对href的理解可能会不一致,所以我们的部分匹配("*=")的方式来代替完全匹配("=")

$(document).ready(function() {

        $("a[href*=/content/gallery]").click(function() {

               // do something with all links that point somewhere to /content/gallery

        });

});

到现在为止,选择器都用来选择子元素或者是过滤元素。另外还有一种情况是选择上一个或者下一个元素,比如一个FAQ的页面,答案首先会隐藏,当问题点击时,答案显示出来,jQuery代码如下:

$(document).ready(function() {

        $('#faq').find('dd').hide().end().find('dt').click(function() {

         var answer = $(this).next();

         if (answer.is(':visible')) {

             answer.slideUp();

         } else {

             answer.slideDown();

         }

     });

});

这里我们用了一些链式表达法来减少代码量,而且看上去更直观更容易理解。像'#faq' 只选择了一次,利用end()方法,第一次find()方法会结束(undone),所以我们可以接着在后面继续find('dt'),而不需要再写$('#faq').find('dt')

在点击事件中的,我们用 $(this).next() 来找到dt下面紧接的一个dd元素,这让我们可以快速地选择在被点击问题下面的答案。

除了选择同级别的元素外,你也可以选择父级的元素。可能你想在用户鼠标移到文章某段的某个链接时,它的父级元素--也就是文章的这一段突出显示,试试这个:

$(document).ready(function() {

        $("a").hover(function() {

               $(this).parents("p").addClass("highlight");

        }, function() {

               $(this).parents("p").removeClass("highlight");

        });

});

测试效果可以看到,移到文章某段的链接时,它所在的段全用上highlight样式,移走之后又恢复原样。

 

本文转自http://po-soft.com/hi/tiantian/blog/482

更多内容请访问OECP社区

 

分享到:
评论

相关推荐

    Jquery文档处理的几种效果

    jQuery提供了丰富的DOM操作方法,如添加、删除和复制元素: - `.append()`:在元素内部末尾添加内容。 - `.prepend()`:在元素内部开头添加内容。 - `.remove()`:删除匹配的元素。 - `.clone()`:复制元素及其事件...

    jquery实现的网页水印

    在网页设计中,水印是一种常见的视觉元素,用于在页面上添加版权信息、标识或其它必要的文本,而不会干扰主要内容的展示。`jQuery` 是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画等功能。在这个...

    jquery_web页面操作导向_demo

    在网页设计和开发中,页面操作导向是一种至关重要的技术,它帮助用户理解并导航网站的动态变化。"jQuery_web页面操作导向_demo" 是一个专门针对这一主题的实践示例,旨在展示如何通过jQuery库实现优雅的页面导向效果...

    JQuery 15种经典案例

    在"JQuery 15种经典案例"中,我们将会探讨一系列实用且富有创意的JQuery应用,旨在提升网页的用户体验和视觉吸引力。 1. **导航菜单**:JQuery可以创建响应式的导航菜单,当用户滚动页面时,菜单可以自动吸附或固定...

    jquery 定位input元素的几种方法小结

    总之,jQuery提供了丰富的选择器和方法来定位DOM元素,使得在JavaScript中操作网页元素变得简单高效。在实际应用中,应根据具体情况选择最合适的方法。对于复杂场景,可能需要组合使用多种选择器和方法来达到目的。...

    jquery学习必备10几种经典特效

    "jQuery学习必备10几种经典特效"是一个针对初学者和中级开发者的重要资源,它包含了一系列预封装的特效源码,可以帮助你快速掌握jQuery的核心功能和特效实现。 首先,我们来看一下“特效核心”。这个部分通常涵盖了...

    jquery.imgareaselect-0.9.2几种封装

    总之,jQuery.imgAreaSelect-0.9.2提供了一种高效、灵活的图像选区解决方案,其强大的功能和简洁的API使得在网页中实现图像选取功能变得轻松简单。无论是用于图片裁剪、定位还是其他图像相关的交互设计,都能满足...

    jQuery返回定位插件详解

    在了解jQuery返回定位插件之前,我们首先要了解jQuery为开发者提供的几种开发插件的模式。这些模式包括: 1. 使用$.extend()方法:这个方法允许我们将一个或多个对象的内容合并到目标对象中。在这个过程中,我们...

    jquery网页mp3播放器

    jQuery的核心特性包括选择器(用于快速定位DOM元素)、链式操作(方法调用可以连续进行)和封装好的AJAX功能。 **jPlayer插件**是jQuery的一个扩展,专注于多媒体播放。它提供了一套完整的解决方案,用于构建功能...

    实用的jquery固定位置特效.zip

    jQuery库简化了JavaScript的DOM操作,使得开发者能够更方便地操控网页元素。在固定位置特效中,主要涉及以下几个关键知识点: 1. **选择器(Selectors)**:jQuery提供了多种选择器,如ID选择器("#id"),类选择器(...

    jQuery页面滚动文字图片元素淡入动画特效

    jQuery页面滚动动画特效是一种常见的网页设计手法,用于提升用户体验和视觉吸引力。这种特效在用户滚动页面时,使特定的文字、图片或其他元素以淡入的效果呈现,创造出动态且引人注目的视觉效果。在给定的"jQuery...

    jQUery 150 种样式

    使用`each()`函数,可以对jQuery对象中的每个元素进行迭代操作,同时,`add()`, `filter()`, `not()`等方法可以筛选和修改集合。 以上只是jQuery 150种样式中的一部分,实际应用中可能包含更复杂的布局变换、过渡...

    jquery中获取元素的几种方式小结

    在jQuery库中,获取元素是常见的操作,它提供了多种方法来选择、定位和操作DOM中的元素。以下是对jQuery中获取元素的几种主要方式的详细解释: 1. **通过指定序号获取元素**: 使用`.eq()`方法可以按索引获取集合...

    用Jquery做的几种输入时间的例子

    2. **选择元素**:使用`Jquery`的选择器定位到需要添加时间验证的输入元素,例如`<input type="text">`。 3. **应用插件**:调用插件提供的函数,为选中的元素添加时间掩码。这通常会涉及一个初始化函数,如`$("#...

    jquery-essentials

    1. jQuery选择器:文件中提到了几种基本的jQuery选择器,例如通过标签名选择元素(如“div”),通过ID选择元素(如“#myId”)以及通过类选择元素(如“.myClass”)。使用这些选择器可以快速找到页面中的特定元素...

    jQuery插件 jQuery 实现网页报纸的区域锚点提示功能

    4. **元素定位(Element Positioning)**:利用 jQuery 的 `.offset()` 或 `.position()` 方法,可以获取元素相对于文档或父元素的位置,这对于计算提示框的显示位置至关重要。 5. **动态更新内容(Dynamic Content...

    jquery菜单手风琴_3种模式可以多组操作

    本主题将深入探讨如何使用jQuery实现一个菜单手风琴效果,特别是针对三种不同的操作模式以及如何支持多组手风琴菜单。 首先,让我们了解“手风琴”菜单的概念。手风琴菜单是一种用户界面元素,它允许在一个有限的...

    jQuery实现网页换肤

    通过选择器,我们可以精准地定位到网页中的特定元素,如`$("#id")`选择ID为`id`的元素,`$(".class")`选择所有class为`class`的元素。在网页换肤中,我们需要对这些元素的样式进行修改,因此理解并熟练运用jQuery的...

    jQuery网页定位导航特效实现方法

    在介绍jQuery网页定位导航特效实现方法时,我们需要关注几个核心的概念和步骤。首先,网页定位导航特效是一种使网页浏览更加直观和方便的技术,它可以实现在页面中快速定位到特定内容区域的功能。jQuery作为一款流行...

Global site tag (gtag.js) - Google Analytics