JavaScript忍者秘籍筆記05之跨瀏覽器策略

2021-08-10 03:14:41 字數 2794 閱讀 7941

"form" action="/conceal">

type="text"

id="action" />

type="submit"

id="submit" />

form>

document.getelementbyid('form').submit();

// typeerror: document.getelementbyid(...).submit is not a function

script>

特徵**
window.findbytagworksa***pected = (function

() )();

特性(attribute)是dom構建的乙個組成部分,而屬性(property)是元素保持執行時資訊的主要手段,並且通過屬性可以訪問這些執行時資訊。

var image = document.getelementsbytagname('img')[0];

var newsrc = 'images/kong.png';

image.src = newsrc;

console.log(image.src); // file:///f:/web/sublimeproject/test/images/kong.png

console.log(image.getattribute('src')); // images/kong.png

自定義特性的行為

如果不確定乙個特性的屬性是否存在,可以對其進行測試,如果不存在的話再使用dom方法。eg、

var value = element.somevalue? element.somevalue: element.getattribute('somevalue');
url規範化

在訪問乙個引用了url的屬性(eg,href,src或action),該url值會自動將原始值轉換成完整規範的url。

獲取計算樣式

window.getcomputedstyle() 方法給出應用活動樣式表後的元素的所有css屬性的值,並解析這些值可能包含的任何基本計算。

語法

let style = window.getcomputedstyle(element, [pseudoelt]);

lang="en">

charset="utf-8">

測試getcomputedstyle方法title>

#box

style>

head>

id="box">我是boxdiv>

var obox = document.getelementbyid('box');

var compsty = window.getcomputedstyle(obox);

console.log(compsty.getpropertyvalue('font-size')); // 16px

obox.style.fontsize = '14px';

console.log(compsty.getpropertyvalue('font-size')); // 14px

script>

body>

html>

ie9之前版本:attachevent()detachevent()方法

現代瀏覽器:addeventlistener()removeeventlistener()方法

乙個元素被單擊的時候可以通過event.target獲得該元素的引用。

// 將事件處理委託給**元素+

var table = document.getelementbyid('someid');

table.addeventlistener('click',function

(event)

});

有些html元素在被注入之前,必須存放在特定的容器元素中,例如,元素必須放在中。需要使用特定容器元素進行包裝的問題元素有7個:

*and< optgroup>need to be contained in a...

*needs to be contained in a...

*,< tbody>,< tfoot>,< colgroup>, and< caption>need to be contained in a...

*needs to be in a...

,...

, or...

*andneed to be in a...

*must be in a

...

*andneed to be in a

...

JavaScript 跨瀏覽器新增移除事件

那麼我們希望解決非ie 瀏覽器事件繫結哪些問題呢?1.支援同一元素的同一事件控制代碼可以繫結多個監聽函式 2.如果在同一元素的同一事件控制代碼上多次註冊同一函式,那麼第一次註冊後的所有註冊都被忽略 3.函式體內的this 指向的應當是正在處理事件的節點 如當前正在執行事件控制代碼的節點 4.監聽函式...

瀏覽器學習筆記 05 導航流程

從圖中可以看出,整個過程需要各個程序之間的配合,所以在開始正式流程之前,我們還是先來快速回顧下瀏覽器程序 渲染程序和網路程序的主要職責。1.瀏覽器程序主要負責使用者互動 子程序管理和檔案儲存等功能。通過分析,這個過程可以大致描述為如下 首先,使用者從瀏覽器程序裡輸入請求資訊。當使用者在位址列中輸入乙...

javascript 跨瀏覽器的一些小技巧

用網頁調整格式實在是太複雜了,湊合看看吧。事件處理分為兩種,一種為冒泡型事件,另一種為捕獲型事件 冒泡型事件 是從特定目標到最不特定的目標 捕獲型事件 是從最不特定的物件開始觸發,一直到最精確的物件。dom標準同時支援兩種事件,並且捕獲型事件先發生。window document body div ...