jquery-创建元素和添加子元素
一、创建新元素
1、使用$函数创建新元素
var $newElement=$('<div><p>段落</p></div>');//创建元素,返回jQuery对象
说明:
1)创建的新元素不会自动的把新元素插入到页面中,我们还需要明确的指定其插入到页面中的位置(比如使用append方法,指定
其插入位置为某个元素的最后一个子元素)
2)返回的jQuery对象中只包含html片段最顶层(外层)的元素,对于后代元素我们可以像处理页面中已有元素一样,使用
children或find方法访问 也就是说alert($newElement);的结果应为1
3)既然可以直接apend等方法插入html元素为何还要有这个创建新元素的功能?
使用$函数创建元素,是返回的是jQuery对象,我们可以使用jQuery对象里面的方法在创建的这个元素被插入到页面之前进行
各种操作比如进行绑定事件处理函数!
2、克隆已有的元素(通过克隆已有元素生成新元素)
使用clone方法以已有的元素(或者新创建的元素)为模子生成新元素
clone方法会复制jQuery对象内包含后代元素在内的所有元素
参数:
两个参数都是可选
第一个参数:
一个布尔值(true 或者 false)指示目标元素的事件处理函数以及关联数据是否会被复制
第二个参数(默认情况下与第一个参数一致):
一个布尔值,指示是否对克隆的元素的所有子元素的事件处理程序以及关联数据进行复制
二、添加子元素
1、append方法
在每个匹配元素内的 末尾处 插入参数内容
参数类型说明:
1)普通字符串(可包含各种html标签)
$('body').append('html字符串');
2)jQuery对象
①使用$函数创建的新元素(jQuery对象)
②使用$函数获取页面中已经有的元素(jQuery对象)
此时会将已有的元素移动到目标元素内,就是被剪切了
<script type="text/javascript">
$(function(){
$getParagraph=$("p");//运行后p段落会变成div的子元素
$("#oo").append($getParagraph);
}
);
</script> <p>段落</p>
<div id="oo">div</div>
③使用clone方法克隆页面中已经有的元素(jQuery对象)
$getParagraph=$("p").clone();//这样就避免了p段落会变成div的子元素
3)html元素对象、html元素对象数组
====以上类型的参数可传入多个,每个参数都会被插入到匹配元素!===
4)函数
有多少个匹配元素,这个函数就会执行多少次!
函数可以接受到两个参数:第一个是当前元素的序号、第二个是当前元素内的html
函数内部this代表当前的html元素对象
return 的数据就是插入的内容(可以为html元素,也可以是jQuery对象)
2、prepend方法
将参数内容插入到每个匹配元素内部的 最前面
使用方法及参数与append相同
3、appendTo方法
将匹配的元素插入到目标元素内部的最后面(同append)
与append区别:
使用时目标元素与插入内容的位置 颠倒
创建新元素返回的jQuery对象与
选择页面中已有元素返回的jQuery对象都可调用此方法(选择页面中已有元素表示将已有的元素移动到目标元素内)!
参数(表示要插入元素的目标位置):
Selector或者jQuery对象或者html元素对象/html元素对象数组
4、prependTo方法
将匹配的元素插入到目标元素内部的最前面(同prepend)
与prepend区别:
同上!
参数(表示要插入元素的目标位置):
同上!
jquery-创建元素和添加子元素的更多相关文章
- jQuery创建元素和添加子元素
var li = $("<li class=\"TopNav arrow\" secondMenu=\"menu_" + i + "\ ...
- jQuery如何获取动态添加的元素
1. 使用 on()方法 本质上使用了事件委派,将事件委派在父元素身上 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() ...
- jQuery内容过滤选择器与子元素过滤选择器用法实例分析
jQuery选择器内容过滤 一.:contains(text) 选择器::contains(text)描述:匹配包含给定文本的元素返回值:元素集合 示例: ? 1 2 $("div.mini ...
- 【WPF】用代码给集合(Collection)容器动态添加子元素(Item)
需求:如何向 TabControl 中添加选项卡项. 问题:做的TabControl分页栏想要通过代码来控制添加的子元素.同理可以将解决思路拓展到用于其他的集合控件添加子元素的问题. 在布局文件She ...
- jquery层级原则器(匹配父元素下的子元素)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- AngularJs中,如何在父元素中调用子元素为自定义Directive中定义的函数?
最近一段时间准备使用AngularJs中的自定义Directive重构一下代码. 在这里说明一下,把自定义控件封装成Directive并不一定是要复用,而是要让代码结构更加清晰.就好像你将一个长方法拆 ...
- CSS实现父元素半透明,子元素不透明
CSS实现父元素半透明,子元素不透明. 很久以来大家都习惯使用opacity:0.5在新式浏览器里实现半透明,而对IE较旧的版本使用filter:Alpha(opacity=0.5)的滤镜来实现半透明 ...
- CSS父元素高度随子元素高度变化而变化
<html> <body> <head> <style> #menu{width:1000px;overfloat:hidden;} /* width: ...
- 父元素设置min-height子元素设置100%问题
问题:父元素设置min-height子元素高度设置100%取不到值,这是因为子元素 div设置 height:100%: 只有当父级元素满足min-height:1000px;设置的条件才触发: 浏览 ...
随机推荐
- 用 Angularjs 重构了整个 Raysnote 笔记本前端, v2.0 上线
Raysnote是一个简洁优雅的在线笔记工具,致力于提升笔记书写和阅读的体验. 简洁高效的笔记本管理后台(Angularjs重构) 支持HTML/Markdown两种格式,重点关注和支持Markdow ...
- MAC下cmake安装
可以参考网上手动下载cmake的源码包进行安装,http://www.cmake.org/download/ 解压后运行sudo ./bootstrap && sudo make &a ...
- CentOS 7.0 以后的几件事情
1.当最大化时隐藏标题栏 或者使用tweak tool 在字体中将标题栏字体设置为0...建议这个方法. 2.添加epel源 yum -y --nogpgcheck install http://do ...
- Hystrix使用说明,配置参数说明
一.什么情况下会触发fallback方法? 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT 执 ...
- LeetCode: Merge Intervals 解题报告
Merge IntervalsGiven a collection of intervals, merge all overlapping intervals. For example,Given [ ...
- IR的评价指标之MRR
MRR(Mean Reciprocal Rank): 是一个国际上通用的对搜索算法进行评价的机制,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0 ...
- HOW TO:使用 Visual C# .NET 打印 RichTextBox 控件的内容
概要 本分步指南介绍了如何打印 RichTextBox 控件的内容.RichTextBox 控件没有提供任何打印 RichTextBox 内容的方法.您可以扩展 RichTextBox 类以使用 EM ...
- web开发,让用户流水线进行操作,不可返回后退
在项目开发中非常多人会有这种需求.就是想要操作做过了不能后退.之前在网上找过点,都说没有什么好的办法.我有的说有js,但效果不好,不说连点两下能够让他失效,有不同浏览器中也无法兼容,如 functio ...
- JavaScript 闭包原理分析
本文转载至 http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html 另一篇很好的资料 http://www.k ...
- lua 的io操作,非常详细
Lua 标准库 - 输入输出处理(input and output facilities) I/O库提供两种不同的方式进行文件处理 1.io表调用方式:使用io表,io.open将返回指定文件的描述, ...