常在用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小時內與您取得聯系。