This is a paragraph with a list following it.
- Item 1
- Item 2
- Item 3
摘要:另外,以及這兩個方法,在測試了一下,并無反應。不知是否兼容問題。下面是獲得焦點的時候,自動以每毫秒的速度往下滾屏
文檔模式
頁面的文檔模式是由IE8引入的,文檔模式決定了可以使用的CSS級別、JS中的API以及如何對待文檔類型(doctype);在IE9,提供了4中文檔模式:
IE5:混雜模式;
IE7:IE7標準模式渲染頁面;
IE8:IE8標準模式渲染頁面,可以使用Selectors API、更多CSS2級選擇符和某些CSS3功能、HTML5的一些功能;
IE9:IE9標準模式渲染頁面,這個文檔模式是最高級的模式;
要強制瀏覽器以某種模式渲染頁面,可以使用HTTP頭部信息X-UA-Compatible,或通過等價的meta標簽來設置:
其中IEVersion有以下取值:
Edge:始終以最新的文檔模式來渲染頁面;
EmulateIE9:如果有文檔類型聲明,以IE9標準模式渲染頁面,否則將文檔模式設置為IE5;
EmulateIE8:如果有文檔類型聲明,以IE8標準模式渲染頁面,否則將文檔模式設置為IE5;
EmulateIE7:如果有文檔類型聲明,以IE7標準模式渲染頁面,否則將文檔模式設置為IE5;
9:強制以IE9標準模式渲染頁面,忽略文檔類型聲明;
8:強制以IE8標準模式渲染頁面,忽略文檔類型聲明;
7:強制以IE7標準模式渲染頁面,忽略文檔類型聲明;
5:強制以IE5標準模式渲染頁面,忽略文檔類型聲明;
如:
或直接使用IE7模式:
通過document.documentMode屬性可以知道給定頁面使用的是什么文檔模式。
children屬性該屬性只包含元素中同樣還是元素的子節(jié)點,除此之外,該屬性與childNodes沒區(qū)別;
console.log(document.body.children.length);
IE<9的瀏覽器有bug;
contains()方法和compareDocumentPosition()方法前者調用的應該是祖先節(jié)點,接收一個參數(shù)即要檢測的后代節(jié)點;后者則是DOM Level 3中的,會返回如下掩碼:
Bits Number Meaning
000000 0 元素一致
000001 1 節(jié)點在不同的文檔(或者一個在文檔之外)
000010 2 節(jié)點 B 在節(jié)點 A 之前
000100 4 節(jié)點 A 在節(jié)點 B 之前
001000 8 節(jié)點 B 包含節(jié)點 A
010000 16 節(jié)點 A 包含節(jié)點 B
100000 32 瀏覽器的私有使用
對于contains()方法,如下:
console.log(document.documentElement.contains(document.body)); //true
對于compareDocumentPosition()方法則:
var result = document.getElementById("divId").compareDocumentPosition(document.getElementById("pId")); //4,給定的節(jié)點pId在參考的節(jié)點divId的后面,居后 var result = document.getElementById("pId").compareDocumentPosition(document.getElementById("divId")); //2,給定的divId在參考的pId的前面,居前 var result = document.documentElement.compareDocumentPosition(document.body); //20(16+4),給定的body被包含于參考的html中并且位于其之后 var result = document.body.compareDocumentPosition(document.documentElement); //10(8+2),給定的html是參考的body的祖先并且位于其前 var result = document.body.compareDocumentPosition(document.body); //0 元素一致;插入文本 innerText屬性
該屬性可以操作元素中包含的所有文本內容;以下面代碼示例:
This is a paragraph with a list following it.
- Item 1
- Item 2
- Item 3
其innerText屬性會返回如下字符串:
This is a paragraph with a list following it. Item 1 Item 2 Item 3
如果設置其innerText,則會變成這樣:
document.getElementById("content").innerText = "hello there"; console.log(document.body.outerHTML); // //hello there// //
如果在其中加入了html標簽,則會變成這樣:
document.getElementById("content").innerText = "hello there
"; console.log(document.body.outerHTML); // //// //hello there
利用這一點可以用這個屬性去掉所有的html標簽,如下:
document.getElementById("content").innerText = document.getElementById("content").innerText; console.log(document.body.outerHTML); // //This is a paragraph with a list following it.// //
Item 1
Item 2
Item 3
值得注意的是Firefox雖然不支持innerText,但支持textContent屬性。為了兼容性,應采用下面的代碼:
function getInnerText(element) { if (typeof element.textContent == "string") { return element.textContent; } else { return element.innerText; } } function setInnerText(element, text) { if (typeof element.textContent == "string") { element.textContent = text; } else { element.innerText = text; } }outerText屬性(盡量不要用)
與innerText屬性的區(qū)別:
var div = document.getElementById("content"); div.innerText = "hello there"; console.log(document.body.innerHTML); //hello therevar div = document.getElementById("content"); div.outerText = "hello there"; console.log(document.body.innerHTML); //hello there
因為這個屬性會導致調用它的元素不存在,因此這個屬性并不常用
滾動主要有以下幾個方法:
scrollIntoView():true的話盡量顯示在頂端,false的話則是底部;
scrollIntoViewIfNeeded(alignCenter):如果為true,則表示盡量將元素顯示在視口中部;
scrollBy(xnum,ynum):xnum 必需,把文檔向右滾動的像素數(shù);ynum必需,把文檔向下滾動的像素數(shù)。
另外,scrollByLinew(lineCount)以及scrollByPages(pageCount)這兩個方法,在chrome測試了一下,并無反應。不知是否兼容問題。
下面是document獲得焦點的時候,自動以每10毫秒的速度往下滾屏:
var x = setTimeout(focus, 10); function focus() { if (document.hasFocus()) { window.scrollBy(0,1); } var y = setTimeout(focus, 10); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78342.html
摘要:實際上,的核心就是通過選擇符查詢文檔取得元素的引用。方法該方法接收一個選擇符,返回的是所有匹配的元素而不僅僅是一個元素。而其底層實現(xiàn)則類似于一組元素的快照,而非不斷對文檔進行搜索的動態(tài)查詢。 選擇符API Selector API Level1 的核心就是兩個方法:querySelector()和querySelectorAll()。實際上,jQuery的核心就是通過CSS選擇符查詢D...
摘要:如他返回的對象是。方法,這個方法用于確定文檔是否獲得了焦點。另外,需要注意的是,該屬性插入元素并不會執(zhí)行其中的腳本。在中,方法接收一個字符串,返回一個經過無害處理后的版本。屬性同樣的,在讀模式下返回調用它的元素及所有子節(jié)點的標簽。 與類相關的擴充 getElementsByClassName()方法 接收一個參數(shù),即一個或多個類名的字符串。如: console.log(documen...
摘要:和級分為許多模塊,分別描述了的某個非常具體的子集。這些模塊主要有核心視圖事件樣式遍歷和范圍以及。另外還有方法和方法框架的變化框架和內嵌框架分別用和表示,它們在級中都有一個新屬性這個屬性包含一個指針,指向表示框架內容的文檔對象。 DOM2和DOM3級分為許多模塊,分別描述了DOM的某個非常具體的子集。這些模塊主要有核心(Core)、視圖(Views)、事件(Events)、樣式(Styl...
摘要:級遍歷和范圍模塊定義了兩個用于輔助完成順序遍歷結構的類型和這兩個類型能夠基于給定的起點對結構執(zhí)行深度優(yōu)先的遍歷操作。其中的屬性,表示任何遍歷方法在上一次遍歷中返回的接待你。通過設置這個屬性也可以修改遍歷繼續(xù)進行的節(jié)點。 DOM2級遍歷和范圍模塊定義了兩個用于輔助完成順序遍歷DOM結構的類型:NodeIterator和TreeWalker;這兩個類型能夠基于給定的起點對DOM結構執(zhí)行深度...
閱讀 3723·2021-10-13 09:39
閱讀 3789·2021-09-24 09:48
閱讀 1189·2021-09-01 10:30
閱讀 2526·2019-08-30 15:55
閱讀 1774·2019-08-29 16:39
閱讀 2296·2019-08-26 13:55
閱讀 3050·2019-08-26 12:23
閱讀 1634·2019-08-26 11:59