整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JQuery中html()与text()方法的区别

常在用JQuery写ajax时,都会用到html()这个方法,而不用text()这个方法,他们之间有什么区别呢?

  1. 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标签会被浏览器识别)

  1. 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对象等。