`
aijuans
  • 浏览: 1566206 次
社区版块
存档分类
最新评论

jQuery使用之(三)处理页面的元素

阅读更多

对于页面的元素,在DOM编程中可以通过各种查询、修改手段进行管理,非常麻烦。jQuery提供了一整套的方法来处理页面的元素。包括元素的内容、复制、移动和替换等。本节将介绍一些常用的内容。

1.直接获取、编辑内容。

在jQuery中,主要是通过html()和text()两个方法来获取和编辑页面的内容。其中html()相当于获取节点的innerHTML属性,添加参数html(text),则为设置innerHtml;而text()则用来获取元素的纯文本,text(content)为设置纯文本。

这两种方法有时配合着使用,text()通过用来过滤页面中的标记,而html(text)用来设置节点中的innerHtml。例如:

$(function() {
                var sString = $("p:first").text(); //获取纯文本
                $("p:last").html(sString);
            });

利用text()的方法获取第一个P的文本,然后用html()方法赋给最后一个<p>。

text()和html()方法的巧用。

复制代码
<script type="text/javascript">
            $(function() {
                $("p").click(function() {
                    var sHtmlStr = $(this).html(); //获取innerHTML
                    $(this).text(sHtmlStr); //将代码做为纯文本传入
                });
            });
        </script>
        <p><b>文本</b>段 落<em></em></p>
复制代码

鼠标一次点击、二次点击、三次点击这些可以用在代码获取转移上。

2.移动和复制元素

在普通的DOM中,如果希望在某个元素后面添加一个元素,通常是使用父元素的appendChild()或者inserBefore()方法,很多时候需要反复需找节点的位置。十分麻烦,jQuery中提供了append()方法,可以直接为某个元素添加新的子元素。

复制代码
<script type="text/javascript">
            $(function() {
                //直接添加HTML代码
                $("p:last").append("<b>直接添加</b>");
            });
        </script>
        <p>11<em title="huge, gigantic">22</em>...</p>
        <p>33<em title="running">44</em>...</p>
复制代码

除了直接添加html代码,append()方法还可以用来添加固定的节点,例如

$("p").append($("a"));

这个情况会有一些不同,倘若添加的<p>是唯一的一个元素,那么$("a")就会被移动到该元素的所有子元素的后面,而如果目标<p>,是多个元素,那么$("a")将会以复制的形式,在每个P中都添加一个子元素,而自身保持不变。例:使用append()方法复制和移动元素。

复制代码
<script type="text/javascript">
            $(function() {
                $("p").append($("a:eq(0)")); //添加目标为多个<p>
                $("p:eq(1)").append($("a:eq(1)")); //添加目标是唯一的<p>

            })
        </script>
        <a href="#">链接1</a>
        <a href="#">链接2</a>
        <p>文字1</p>
        <p>文字2</p>
复制代码

以上代码中设置了两个超链接<a>用于append()调用。对于第1个超链接,添加目标$("p"),一共有两个<p>元素,对于第2个超链接,添加目标是唯一的<p>元素。

可以看到第一个超链接是以复制的形式添加的,第二个超链接则是以移动的方式添加的。

另外从上述可以看出,append()后面的<a>标记被运用了目标<p>的样式风格,同时也是保持了自身的样式风格。这是因为append()是将<a>作为<p>的子标记进行添加的,将<a>放到了<p>的所有子标记(文本)节点后面。

除了append()方法,jQuery还提供了appendTo(target)方法,用来将目标元素添加到指定目标的子元素。它的使用方法和运行结果与append()完全类似。

复制代码
    $(function() {
                $("img:eq(0)").appendTo($("p")); //添加目标为多个<p>
                $("img:eq(1)").appendTo($("p:eq(0)")); //添加目标是唯一的<p>
            });
<img src="08.jpg"> <img src="09.jpg">
    <hr>
    <p><img src="10.jpg"></p>
    <p><img src="10.jpg"></p>
    <p><img src="10.jpg"></p>
复制代码

对于第一幅照片,同事将其添加到3个p标记中,对于第二幅图片则把单独添加到1个P元素中,从执行结果可以看出,第一幅图片是以复制的形式添加到3个P元素中的,而第二幅图片是以移动的方式添加的。

与append()和appendTo()方式对应,JQ还提供了prepend()和prependTo()方法这两种方法是将元素添加到目标的所有子元素之前,也遵循:复制、移动的添加原则。

除了上述的4种方法之外Jq还提供了before()、insertBefore()、after()、和insertAfter(),用来将元素直接添加到某个节点之前或之后,而不是作为子元素插入。

其中before()与insertBefore()完全相同,after()和insertAfter()也是完全一样的,这里以after()为例

复制代码
    <script type="text/javascript">
            $(function() {
                $("p").after($("a:eq(0)")); //添加目标为多个<p>
                $("p:eq(1)").after($("a:eq(1)")); //添加目标是唯一的<p>

            });
        </script>
        <a href="#">链接1</a>
        <a href="#">链接2</a>
        <p>内容1</p>
        <p>内容2</p>
复制代码

以上代码运行结果,可以看到after()方法同样遵循单个目标移动,多个目标复制的原则,并且不再是作为子元素添加。而是紧贴在目标元素之后的兄弟元素。

3.删除元素。

在DOM编程中,要删除某个元素往往借助父元素的removeChild()方法,而jQuery提供了remove()方法,可以直击删除元素。

例如$("p").remove();是删除整个页面中的所有p元素标记。

remove()也接受参数。

复制代码
<script type="text/javascript">
            $(function() {
                $("p").remove(":contains('1')");
                //$("p:contains('1')").remove();
            });
        </script>
        <a href="#">链接1</a>
        <a href="#">链接2</a>
        <p>内容1</p>
        <p>内容2</p>
复制代码

以上代码中remove()使用了过滤选择器,文本内容包含1的P元素被删除掉了。

虽然remove()可以接受参数,但是通常还是建议在选择器阶段就将要删除的对象确定,然后用remove()一次性删除。("p:contains('1')").remove();其效果是完全一样的,并且效果和其它代码的风格是统一的。

在DOM中,如果希望把某个元素的子元素全部删除,往往for循环的配合hasChildNodes()来判断,并用removeChildNode()逐一删除,Jquery提供了empty()方法直接删除所有的子元素。

复制代码
<script type="text/javascript">
            $(function() {
            $("p").empty();    //删除p的所有子元素
            });
        </script>
        <a href="#">链接1</a>
        <a href="#">链接2</a>
        <p>内容1</p>
        <p>内容2</p>
复制代码

4.克隆元素。

第二节提到元素的复制和移动,但这取决于目标数的个数,很多时候开发者希望即使目标对象只要一个,同样能执行复制操作。

jQuery提供了clone()方法来完成这项任务。

复制代码
<script type="text/javascript">
            $(function() {
                $("img:eq(0)").clone().appendTo($("p"));
                $("img:eq(1)").clone().appendTo($("p:eq(0)"));

            });
        </script>
    <img src="08.jpg"> <img src="09.jpg">
    <hr>
    <p><img src="10.jpg"></p>
    <p><img src="10.jpg"></p>
    <p><img src="10.jpg"></p>
复制代码

同样完成了上上节中appendTo()方法达到的结果。

另外clone()函数还接受布尔值对象作为参数,的那个参数为true时,除了克隆本身,它所携带的时间方法将一块被复制。

复制代码
<script type="text/javascript">
            $(function() {
                $("input[type=button]").click(function() {
                    //克隆自己,并且克隆点击的行为
                    $(this).clone(true).insertAfter(this);
                });
            });
        </script>
<input type="button" value="Clone Me">
复制代码

以上代码在单击按钮时克隆按钮本身,同时克隆单击事件,克隆出来的按钮同样具备有克隆自己的功能。

写博客不容易,欢迎大家给评论以给鼓励,分享是快乐!欢迎大家拍砖和点赞。(JavaScript、ajax、jQuery系列文章不断更新,关注我即可随时关注更新)

 

 

其他精彩文章

jQuery教程(29)-jQuery插件开发之为插件方法指定参数

jQuery教程(28)-jQuery插件开发之使用插件

jQuery教程(27)-jQueryajax操作之修改默认选项

jQuery教程(26)-ajax操作之使用JSONP加载远程数据

1
4
分享到:
评论

相关推荐

    jQuery实现页面滚动时元素智能定位

    在提供的压缩包文件"jQuery实现页面元素智能定位"中,可能包含了示例代码、教程或者工具,帮助开发者理解和实践这个过程。通过学习和应用这些知识,你可以创建具有智能定位功能的网页元素,提升用户体验。 总的来说...

    jQuery使用之处理页面元素用法实例

    本篇文档将针对如何使用jQuery来处理页面元素,包括获取和编辑元素内容、复制元素、移动元素以及替换元素等操作技巧进行实例讲解。 首先,我们来了解如何直接获取和编辑页面元素的内容。在jQuery中,`html()`和`...

    jQuery为动态生成的select元素添加事件的方法

    2. 动态生成元素的事件处理难题:在Web开发中,经常遇到需要动态生成页面元素的情况,比如根据用户操作生成新的输入框、按钮或下拉选择框(select)。一旦这些元素被添加到DOM中,为了能够响应用户的交互,我们需要...

    jQuery仿京东页面制作,组件封装

    通过这些选择器,可以方便地对页面元素进行操作,如添加、删除或修改属性,以及改变其内容。 其次,项目中可能涉及到事件处理。jQuery提供了绑定事件的方法,如`$(element).click(function() {...})`用于绑定点击...

    jquery实现鼠标框选多个页面元素

    本示例探讨的是如何使用jQuery实现一个名为DrawSelect的插件,该插件允许用户通过鼠标框选页面上的多个元素。这个功能在数据分析、内容编辑或任何需要批量操作的场景中尤其有用。 首先,我们需要理解`index.html`是...

    拖动排序元素jquery插件

    本文将深入探讨“拖动排序元素”的jQuery插件,这是一款用于实现用户通过拖放操作来重新排序页面元素的强大工具。 标题中的“拖动排序元素jQuery插件”是指一个基于jQuery的插件,它的主要功能是允许用户通过直接...

    jquery应用子页面在父页面打开

    在这个场景下,"jquery应用子页面在父页面打开"意味着利用jQuery的方法和特性来处理父子页面之间的交互。 首先,我们需要理解基本的HTML框架结构,如`&lt;iframe&gt;`元素,它可以用于在父页面中嵌入子页面。通过设置`src...

    jQuery实现获取元素索引值index的方法

    通过这些知识点,开发者可以灵活地使用jQuery来处理页面元素的各种交互逻辑,从而增强网页的用户体验。 更深入地了解jQuery,我们还可以学习相关的专题知识,如页面元素操作技巧、扩展技巧、常用插件的使用、拖拽...

    jquery添加和删除元素

    jQuery通过选择器(Selectors)找到页面中的元素,然后对这些元素执行各种操作。比如,我们可以使用`$`符号来创建一个jQuery对象,并传入CSS选择器来选取元素。 添加元素: 在jQuery中,我们通常使用`append()`和`...

    jQuery页面上下滚动触发区块动画特效

    通过使用jQuery,开发者可以更方便地实现复杂的页面交互功能,而无需编写大量原生JavaScript代码。 ### 2. 页面滚动事件 页面滚动事件是JavaScript中的一种事件,当用户滚动浏览器窗口时触发。在jQuery中,我们...

    jquery的几种使用方法

    在网页开发领域,jQuery是一个非常重要的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。本篇文章将详细探讨jQuery的几种使用方法,帮助你更好地理解和运用这一强大的工具来提升...

    jQuery Ajax 登陆和注册页面

    1. **事件绑定**:使用jQuery的`$(document).ready()`函数确保页面加载完成后执行代码,然后使用`$('form').submit()`监听表单提交事件。 2. **Ajax请求**:当用户点击登录按钮时,阻止表单的默认提交行为,用`...

    jQuery仿左右窗帘拉开页面动画特效

    【jQuery仿左右窗帘拉开页面动画特效】是一种常见的网页动态效果,它通过利用jQuery库的强大的DOM操作和动画功能,模拟出类似窗帘从两侧向中间拉开的效果,为网站的加载、过渡或导航等场景增添视觉吸引力。...

    JQUERY实现iframe页面切换功能

    要使用jQuery实现iframe页面切换,我们首先需要在HTML中设置一个iframe元素,并为其定义一个id,以便于后续的jQuery选择器能够找到它: ```html 初始页面URL"&gt; ``` 接下来,我们可以编写jQuery代码来实现页面切换...

    jquery实现网站注册页面验证信息

    在网页开发中,用户注册...总结,使用jQuery实现网站注册页面验证,能够有效提高用户体验,减少无效数据的提交,同时增强了页面的交互性。通过学习和实践这些知识点,开发者可以构建出更加健壮和友好的用户注册系统。

    完整jquery实现的购物网站页面

    网格系统通过定义列数和栅格宽度,使页面元素能够灵活适应屏幕大小。响应式设计则利用媒体查询(`@media query`),根据设备的视口宽度调整样式,使页面在手机、平板和桌面电脑上都有合适的显示效果。 总之,"完整...

    jQuery仿微信手机支付页面代码

    在这个项目中,jQuery被用来处理用户交互,例如点击事件、表单验证和动态更新页面元素。 1. **DOM操作**:jQuery提供了方便的DOM选择器,如`$("#elementID")`,用于快速找到页面上的特定元素。在这个支付页面中,...

    页面滚动元素动画效果jQuery插件

    jQuery的核心特性包括选择器(用于选取DOM元素)、遍历DOM、操作CSS属性、处理事件以及创建高效动画效果。在本案例中,我们关注的是jQuery在实现页面滚动元素动画效果方面的应用。 **jQuery.scrollfx插件** `...

Global site tag (gtag.js) - Google Analytics