国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript DOM擴展——“專有擴展”的注意要點

wudengzan / 2803人閱讀

摘要:另外,以及這兩個方法,在測試了一下,并無反應。不知是否兼容問題。下面是獲得焦點的時候,自動以每毫秒的速度往下滾屏

文檔模式

頁面的文檔模式是由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 there
var 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

相關文章

  • JavaScript DOM擴展——“選擇符API和元素遍歷”注意要點

    摘要:實際上,的核心就是通過選擇符查詢文檔取得元素的引用。方法該方法接收一個選擇符,返回的是所有匹配的元素而不僅僅是一個元素。而其底層實現(xiàn)則類似于一組元素的快照,而非不斷對文檔進行搜索的動態(tài)查詢。 選擇符API Selector API Level1 的核心就是兩個方法:querySelector()和querySelectorAll()。實際上,jQuery的核心就是通過CSS選擇符查詢D...

    justCoding 評論0 收藏0
  • JavaScript DOM擴展——“HTML5”注意要點

    摘要:如他返回的對象是。方法,這個方法用于確定文檔是否獲得了焦點。另外,需要注意的是,該屬性插入元素并不會執(zhí)行其中的腳本。在中,方法接收一個字符串,返回一個經過無害處理后的版本。屬性同樣的,在讀模式下返回調用它的元素及所有子節(jié)點的標簽。 與類相關的擴充 getElementsByClassName()方法 接收一個參數(shù),即一個或多個類名的字符串。如: console.log(documen...

    cppowboy 評論0 收藏0
  • JavaScript DOM2和DOM3——“DOM變化”注意要點

    摘要:和級分為許多模塊,分別描述了的某個非常具體的子集。這些模塊主要有核心視圖事件樣式遍歷和范圍以及。另外還有方法和方法框架的變化框架和內嵌框架分別用和表示,它們在級中都有一個新屬性這個屬性包含一個指針,指向表示框架內容的文檔對象。 DOM2和DOM3級分為許多模塊,分別描述了DOM的某個非常具體的子集。這些模塊主要有核心(Core)、視圖(Views)、事件(Events)、樣式(Styl...

    騫諱護 評論0 收藏0
  • JavaScript DOM2和DOM3——“遍歷”注意要點

    摘要:級遍歷和范圍模塊定義了兩個用于輔助完成順序遍歷結構的類型和這兩個類型能夠基于給定的起點對結構執(zhí)行深度優(yōu)先的遍歷操作。其中的屬性,表示任何遍歷方法在上一次遍歷中返回的接待你。通過設置這個屬性也可以修改遍歷繼續(xù)進行的節(jié)點。 DOM2級遍歷和范圍模塊定義了兩個用于輔助完成順序遍歷DOM結構的類型:NodeIterator和TreeWalker;這兩個類型能夠基于給定的起點對DOM結構執(zhí)行深度...

    antz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<