jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

细说 jQuery DOM操作篇(二) DOM 树操作

来源:网络整理  作者:  发布时间:2020-12-22 17:00
jquery中文网为您提供细说 jQuery DOM操作篇(二) DOM 树操作等资源,欢迎您收藏本站,我们将为您提供最新的细说 jQ...

我们知道通过 $() 函数可以访问文档中的元素,并返回一个 jquery 对象,并且通过一系列方法,我们可以修改元素的样式和内容,实际上,我们还可以通过该函数做更多的事情,例如添加、删除、复制等操作来改变 DOM 树的结构。

创建元素

我们可以通过 $() 函数来直接创建元素,例如

$('<span>new</span>');

但仅仅创建了元素,还没有插入到页面中来,接下来介绍插入方法。

插入元素

最基本的四种插入方法如下:

1.insertBefore 指定元素外部,前面
2.insertAfter 指定元素外部,后面
3.prependTo 指定元素内部,前面
4.appendTo 指定元素内部,后面

假设现有元素为一个 div,如下:

<div>origin</div>

将上例中的 span 插入到 div 内部的前面,可以这样操作:

$('<span>new</span>').prependTo('div');

结果为:

<div><span>new</span>origin</div> 反向插入元素

我们也可以反向插入元素,对应的方法为:

1.insertBefore - before
2.insertAfter - after
3.prependTo - prepend
4.appendTo - append

对于上例,使用反向插入元素的方法为:

$('div').prepend('<span>new</span>');

结果是一致的。

移动元素

对于已经存在的元素使用上述的四类方法,则起到移动元素的效果,假设 span 元素已经存在在 div 内部如下:

<div><span>new</span>origin</div>

我们尝试将 span 移至 div 外部的后面,如下:

$('span').insertAfter('div');

移动后的效果为:

包裹元素

包裹元素即给元素添加一个外层元素,假设现在有两个 span 如下:

<span>A</span> <span>B</span>

我们希望给每个 span 都包裹一个 li,从而实现列表化,此时我们可以使用 wrap 方法:

$('span').wrap('<li></li>');

结果为:

如果我们希望用一个 ul 包裹所有 span 元素,那么可以使用 wrapAll 方法:

$('span').wrapAll('<ul></ul>').wrap('<li></li>'); 克隆元素

克隆元素的方法为 clone,使用起来很简单,但是这里有一点需要注意,克隆元素时,绑定在该元素极其后代元素的事件是否也会被克隆呢,默认情况下是不会的,但是我们可以将其设置为同时克隆。举例如下:

<span>clone</span> <div></div>

绑定点击事件给 span:

$('span').click(function() { alert('hello');// });

克隆 span 并插入到 div 内部:

$('span').clone().appendTo('div');

但此时点击新建的 span 并不能触发 alert,因为 clone 方法默认未将绑定的事件克隆,为了达到事件克隆的效果,只需要将参数设置为 true 即可。

$('span').clone(true).appendTo('div');

此时,点击新建的 span 将会触发 alert。

获取、设置元素内容

假设有 div 如下:

<div><span>content</span></div>

我们希望获取 div 元素的内容,可以使用 html 方法。

$('div').html()

返回结果为:"<span>content</span>"。

我们也可以使用 text 方法:

$('div').text()

返回结果为:"content"。
所以很明显,html 方法和 text 方法的区别在于 text 方法只获取纯文本内容,所以 HTML 标签都将被忽略。

设置元素内容的方法则使用上述两种方法,将新内容作为参数传递即可,例如修改上例中的文本内容:

$('div').text('new content')

html 方法同理。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/7240.shtml

最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

细说 jQuery DOM操作篇(二) DOM 树操作

2020-12-22 编辑:

我们知道通过 $() 函数可以访问文档中的元素,并返回一个 jquery 对象,并且通过一系列方法,我们可以修改元素的样式和内容,实际上,我们还可以通过该函数做更多的事情,例如添加、删除、复制等操作来改变 DOM 树的结构。

创建元素

我们可以通过 $() 函数来直接创建元素,例如

$('<span>new</span>');

但仅仅创建了元素,还没有插入到页面中来,接下来介绍插入方法。

插入元素

最基本的四种插入方法如下:

1.insertBefore 指定元素外部,前面
2.insertAfter 指定元素外部,后面
3.prependTo 指定元素内部,前面
4.appendTo 指定元素内部,后面

假设现有元素为一个 div,如下:

<div>origin</div>

将上例中的 span 插入到 div 内部的前面,可以这样操作:

$('<span>new</span>').prependTo('div');

结果为:

<div><span>new</span>origin</div> 反向插入元素

我们也可以反向插入元素,对应的方法为:

1.insertBefore - before
2.insertAfter - after
3.prependTo - prepend
4.appendTo - append

对于上例,使用反向插入元素的方法为:

$('div').prepend('<span>new</span>');

结果是一致的。

移动元素

对于已经存在的元素使用上述的四类方法,则起到移动元素的效果,假设 span 元素已经存在在 div 内部如下:

<div><span>new</span>origin</div>

我们尝试将 span 移至 div 外部的后面,如下:

$('span').insertAfter('div');

移动后的效果为:

包裹元素

包裹元素即给元素添加一个外层元素,假设现在有两个 span 如下:

<span>A</span> <span>B</span>

我们希望给每个 span 都包裹一个 li,从而实现列表化,此时我们可以使用 wrap 方法:

$('span').wrap('<li></li>');

结果为:

如果我们希望用一个 ul 包裹所有 span 元素,那么可以使用 wrapAll 方法:

$('span').wrapAll('<ul></ul>').wrap('<li></li>'); 克隆元素

克隆元素的方法为 clone,使用起来很简单,但是这里有一点需要注意,克隆元素时,绑定在该元素极其后代元素的事件是否也会被克隆呢,默认情况下是不会的,但是我们可以将其设置为同时克隆。举例如下:

<span>clone</span> <div></div>

绑定点击事件给 span:

$('span').click(function() { alert('hello');// });

克隆 span 并插入到 div 内部:

$('span').clone().appendTo('div');

但此时点击新建的 span 并不能触发 alert,因为 clone 方法默认未将绑定的事件克隆,为了达到事件克隆的效果,只需要将参数设置为 true 即可。

$('span').clone(true).appendTo('div');

此时,点击新建的 span 将会触发 alert。

获取、设置元素内容

假设有 div 如下:

<div><span>content</span></div>

我们希望获取 div 元素的内容,可以使用 html 方法。

$('div').html()

返回结果为:"<span>content</span>"。

我们也可以使用 text 方法:

$('div').text()

返回结果为:"content"。
所以很明显,html 方法和 text 方法的区别在于 text 方法只获取纯文本内容,所以 HTML 标签都将被忽略。

设置元素内容的方法则使用上述两种方法,将新内容作为参数传递即可,例如修改上例中的文本内容:

$('div').text('new content')

html 方法同理。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/7240.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页