DOM节点创建(jQuery)

1DOM创建节点及节点属性

通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了。

试想下这样的情况:如果我们通过AJAX获取到数据之后然后才能确定结构的话,这种情况就需要动态的处理节点了

本文向大家介绍一下如何使用JavaScript创建div节点元素,主要包括创建div节点元素的属性和创建div节点元素的样式两大部分内容,相信本文介绍一定会让你有所收获。

先介绍下需要用到的浏览器提供的一些原生的方法(这里不处理低版本的IE兼容问题)

创建流程比较简单,大体如下:

  1. 创建节点(常见的:元素、属性和文本)
  2. 添加节点的一些属性
  3. 加入到文档中

流程中涉及的一点方法:

  • 创建元素:document.createElement
  • 设置属性:setAttribute
  • 添加文本:innerHTML
  • 加入文档:appendChild

如右边代码所示,写一个最简单的元素创建,我们会发现几个问题:

  1. 每一个元素节点都必须单独创建
  2. 节点是属性需要单独设置,而且设置的接口不是很统一
  3. 添加到指定的元素位置不灵活
  4. 最后还有一个最重要的:浏览器兼容问题处理

针对这一系列的DOM操作的问题,jQuery给出了一套非常完美的接口方法,我们之后就开始深入学习

2jQuery节点创建与属性的处理

上一节介绍了通过JavaScript原生接口创建节点,在处理上是非常复杂与繁琐的。我们可以通过使用jQuery来简化了这个过程

创建元素节点

可以有几种方式,后面会慢慢接触。常见的就是直接把这个节点的结构给通过HTML标记字符串描述出来,通过$()函数处理,$("html结构")

$("<div></div>")

创建为本节点

与创建元素节点类似,可以直接把文本内容一并描述

$("<div>我是文本节点</div>")

创建为属性节点

与创建元素节点同样的方式

$("<div id='test' class='aaron'>我是文本节点</div>")

我们通过jQuery把上一届的代码改造一下,如右边代码所示

一条一句就搞定了,跟写HTML结构方式是一样的

$("<div class='right'><div class='aaron'>动态创建DIV元素节点</div></div>")

这就是jQuery创建节点的方式,让我们保留HTML的结构书写方式,非常的简单、方便和灵活

转载于:https://www.cnblogs.com/jiajia-16/p/6158279.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP中刷新输出缓冲

2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/mutuan/archive/2012/03/18/2404957.html 转载于:https://my.oschina.net/wuzhencan/blog/652259

2021最新计算机二级C语言试题

一、选择题 (1) 下面叙述正确的是( C ) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是( C ) A…

[webpack3.8.1]Guides-4-Output Management(输出管理)

Output Management This guide extends on code examples found in the Asset Management guide.这个指南将在上一个指南的基础上对示例代码进行扩展。 So far weve manually included all our assets in our index.html file, but as your application grows and once you sta…

有条件地 [JsonIgnore]

前言通常&#xff0c;在进行 JSON 序列化或反序列化时&#xff0c;如果要忽略某个属性&#xff0c;我们会使用 [JsonIgnore] 特性&#xff1a;public class User {public int Id { get; set; }[JsonIgnore]public string Name { get; set; } }var user new User { Id 1, Name…

C语言试题145之创建一个链表

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:创建一个链表 2 、温馨提示 …

[转]IntelliJ IDEA 2019.3正式发布,给我们带来哪些新特性?

每篇一句 工欲善其事必先利其器 ——《论语卫灵公》 前言 千呼万唤始出来。自从JetBrains在今年7月24日发布了IDEA 2019.2版本后&#xff0c;从9月份开始我便一直在关注此版本正式版的发布。JetBrains公司在9月中旬就对外公布了下一个主要版本 2019.3的Roadmap&#xff0c;而且…

Git中的日常使用 码云

http://git.mydoc.io/?t83143转载于:https://www.cnblogs.com/yangyuqiu/p/6164822.html

【谭浩强版】C语言程序设计(第三版)课后习题完整答案附源码--高等教育出版社

文章目录 第一章 语言程序设计的概念第二章 基本数据类型第三章 C语言程序的流程控制第四章 模块化程序设计第五章 数组第六章 指针第一章 语言程序设计的概念 1.1 请编写一个程序, 显示以下两行文字。 #include <stdio.h> main() {printf("I am a student.\n&qu…

php判断是否为json格式的方法

http://www.poluoluo.com/jzxy/201403/265005.html 首先要记住json_encode返回的是字符串, 而json_decode返回的是对象 判断数据不是JSON格式: .代码如下:function is_not_json($str){ return is_null(json_decode($str));}判断数据是合法的json数据: (PHP版本大于5.3) .代码如…

FineReport中以jws方式调用WebService数据源方案

在使用WebService作为项目的数据源时&#xff0c;希望报表中也是直接调用这个WebService数据源&#xff0c;而不是定义数据连接调用对应的数据库表&#xff0c;这样要怎么实现呢&#xff1f; 在程序中访问WebService应用服务&#xff0c;将WebService返回的数据转为程序数据集&…

C语言试题148之海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:海滩上有一堆桃子,五只猴子…

一文读懂什么是CTO、技术VP、技术总监、首席架构师

究竟什么是CTO&#xff0c;一个公司真的需要CTO么&#xff1f;哪些公司的职位对于技术管理者来讲真的是CTO的职位&#xff1f;同样是技术最高负责人&#xff0c;为什么有人叫CTO、有人叫技术总监、技术VP&#xff0c;有人叫首席架构师&#xff1f;他们之间的差别是什么&#xf…

与MySQL传统复制相比,GTID有哪些独特的复制姿势?

与MySQL传统复制相比&#xff0c;GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军&#xff0c;苏宁云商IT总部资深技术经理&#xff0c;从事数据库服务相关的开发和维护工作&#xff0c;之前曾长期从事富士通关系数据库的开发&#xff0c…

【ArcGIS Pro微课1000例】0007:ArcGIS Pro 2.5质量检查:拓扑创建与编辑案例教程

文章目录 1. 加载矢量数据2. 创建数据库、要素数据集3. 拓扑创建4. 拓扑错误编辑与修改1. 加载矢量数据 矢量数据可以是单独shp格式的文件数据,也可是存在于数据库中的要素类。 2. 创建数据库、要素数据集 创建数据库 无论是在ArcMap,还是ArcGIS Pro中,创建拓扑都需要在…

C语言试题149之809乘以??=800乘以??+9乘以??+1 其中??代表的两位数,8乘以??的结果为两位数,9乘以??的结果为 3 位数。求??代表 的两位数,及 809乘以??后的结果

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:809*??=800*??+9*??+1…

[转]想要成为一名优秀的Java程序员,这份文档必读

A、规则&#xff08;1–2 级&#xff09; 1、在switch 中每个 case 语句都应该包含 break 或者 return 。 2、不要使用空的for 、if 、while 语句。 3、在运算中不要减小数据的精度。 4、switch 语句中的 case 关键字要和后面的常量保持一个空格&#xff0c;switch 语句中不要定…

QC 环境安装条件

1、HP-QC设置 HP Quality Center环境设置是一个复杂的过程&#xff0c;它不是一般的安装&#xff0c;我们一个windows操作系统上开展。 Enterprise安装将会分发&#xff0c;但是&#xff0c;对于学习/评估目的之一&#xff0c;可以在独立的服务器上安装HP-ALM11.5的试用版。还应…

.Net之时间轮算法(终极版)定时任务

TimeWheelDemo一个基于时间轮原理的定时任务对时间轮的理解其实我是有一篇文章(.Net 之时间轮算法(终极版)[1])针对时间轮的理论理解的&#xff0c;但是&#xff0c;我想&#xff0c;为啥我看完时间轮原理后&#xff0c;会采用这样的方式去实现。可能只是一些小技巧不上大雅之堂…

phpstorm config include paths for swoole

配置phpstorm 当你写swoole 类或者函数时会自动补全 https://github.com/swoole/ide-helper.git 克隆下这个工具包 点加&#xff0c;然后指定你下载好的工具包路径&#xff0c;点ok 本文转自 skinglzw 51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/sking…

C语言试题150之八进制转换为十进制

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:八进制转换为十进制 2 、温馨…