常在用JQuery写ajax时,都会用到html()这个方法,而不用text()这个方法,他们之间有什么区别呢?
html
属性中有两个方法,一个 有参,一个无参。
无参html()
:取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个string
例子:
html页面代码:<div><span>Hello</span></div>
JQuery代码:$(“div”).html();
结果:<span>Hello</span>
有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个JQuery对象
例子:
html页面代码:<div></div>
JQuery代码:$(“div”).html(“<p>Nice to meet you</p>”);
结果:<div><p> Nice to meet you</p></div>(html标签会被浏览器识别)
text
属性中有两个方法,一个有参,一个无参
无参text()
:取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个string
。
例子:
html页面代码:<p><span>Hello<span><div> fine</div></p>
JQuery代码:$(“p”).text();
结果:Hello fine
有参text(val)
:设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 “<” 和 “>” 替换成相应的HTML实体).返回一个JQuery
对象。
例子:
html页面代码:<div>Paragraph.</div>
JQuery代码:$(“div”).text(“<b>Some</b> new text.”);
结果: <p><b>Some</b> new text.</p> (html标签不会被浏览器识别,而是当作字符串来输出)
通过上面的例子,我们知道 html()
方法与text()
方法的区别就在于对html标签的识别上不同。
TML+JQUERY超大视频上传解决方案
最近项目有个需求,需要在网页前端实现大文件,文件夹的上传和下载,需要支持断点续传,MD5校验,文件秒传,加密传输(国密SM4),加密存储,压缩传输(zip,gzip)功能,前端框架使用VUE,后端用的是JAVA SpringBoot
这个是央企项目,因为国家信息安全的因素,所有政府项目都必须支持信创国产化环境:国产操作系统,国产数据库,国产浏览器,客户那边有些系统用的是Windows7 + IE8,也要求兼容。
网上搜了很多文章,基本上的方案都是vue+html5,或百度webuploader,我们之前也是采用的这个方案,稳定性比较差,传上去的文件数据容易出错,然后断点续传功能不够完善,用户传大文件的时候浏览器响应卡顿容易崩溃,用户传文件的时候不能刷新页面,也不能关闭页面,否则文件进度将会丢失。这个对于现在的客户来说有点难以接受,因为用户传的文件比较大,1G到10G都有,可能一次传不完,传一半,第二天再传。
找了几个月,只发现一个产品比较不错:泽优大文件上传控件(up6),不仅提供了产品源码,视频教程,开发部这边集成很快,基本上没花什么时间,直接把他的代码复制到项目中就完事了。
我们的需求实际上很简单,第一就是希望使用简单,不管是对开发人员,还是对普通用户都要使用简单。对开发人员来说要集成和整合简单,能够提供前端和后端 API,前端API使用和调用要方便。对于普通用户,要使用简单学习成本低。不需要进行使用培训。
第二点就是稳定可靠,用户是政府单位的,对稳定性要求比较高。用户每天上传和下载的文件都比较多,大的有10GB左右,小的有几百KB。
第三点就是能够提供技术支持,因为是政府客户,必须要有技术支持,这个是硬指标,因为项目周期也比较长,中途可能会变更需求或者定制开发,所以厂商必须提供技术服务。
除了这些还有一点就是下载功能需要也支持断点续传。用户平时会从系统中下载很多文件,文件有大有小,大的1G,小的几KB,但是用户是批量下载,不是打包成ZIP下载。
上面的几点能够满足的话基本上就没有什么问题,领导这边希望提供OEM买断或控件源代码的采购方式,我们是软件公司,专门做政府和央企项目,客户项目比较多,有些政府大客户要求源代码审查,领导希望集成到我们自己的产品中去卖,这样就能够为所有用户提供这个功能,用户体验也能够统一。后面维护起来也方便。主要是领导不想每次都要单独采购,太麻烦了。
示例下载:
Query概述
jQuery是一个轻量级javascript库兼容CSS3,还兼容各种浏览器。
使用户能更方便地处理HTML文档、事件、实现动画效果,并且方便地为网站提供Ajax交互。
1.2 能做什么
以插件的形式持续地通过开发加入新的功能
获取页面的部分内容
修改页面的外观
修改页面的内容
在页面中响应用户的交互
给页面加上动画
无刷新返回服务器端的信息 ajax
还提供了改进基本的 JavaScript 结构,如迭代和数组操作。
1.3 其他javascript库
Prototype
YUI
Dojo
mooTools
jQuery不会与全局命名空间冲突,简洁,只要花很少的时间去学习。
2.1 jQuery下载
当前版本3.1.1官方网站下载:jquery.com
两种版本,production ,development
全部代码地址: code.jquery.com
建议:用什么版本的jquery,就用什么版本的手册,测试环境用完整版(如:jquery1-11-3.js),生产环境用压缩版(如:jquery1-11-3.min.js)
2.2 jQuery安装
在页面头部head中,添加js
//加入的jquery库文件名,最好带有此库的版本名字,方便查询相对应的版本手册
<script type="text/javascript" src="./script/jquery1.11.3.js"></script>
jQuery基础
3.1 页面载入
$(document).ready(function(){ // 在这里写你的代码...}); //指的是:加载页面后 再执行这段JS语句。
简写方式:
$(function($){// 你可以在这里继续使用$作为别名...});
绑定一个在DOM文档载入完成后执行的函数
同一个页面上可以多次使用
请确保在 <body> 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。
jquery选择器
$('#id')根据给定的ID匹配一个元素
$('.class')根据给定的类匹配元素
$('tag')根据给定的元素名匹配所有元素
$('li:eq(1)')获取下标为1的li标签
$('#box li:last')获取id为box的对象里面最后一个li标签
$('#box li:first')获取id为box的对象里面第一个li标签
利用jQuery不但可以获得代码的最大兼容性,而且可以避免很多js错误的发生。
因为jQuery有一个特色:如果获取不到对象,那后面的操作就自动地不会执行了,而且不报错。不像原生态的js语句
通过关系查找
$('.class').siblings();查找同辈的所有元素
$('.class').children();查找子元素
$('.class').next();查找同辈的下一个元素
$('.class').nextAll();该元素之后所有的同辈元素
$('.class').prev();查找同辈的上一个元素
$('.class').prevAll();该元素之前所有的同辈元素
$('.class').parent();查找元素的父辈
下一节将讲到 jquery对象与DOM对象等。
*请认真填写需求信息,我们会在24小时内与您取得联系。