querySelector用法改進

2021-09-07 23:56:17 字數 676 閱讀 3304

原來選擇器只支援乙個上下文,並對ie8的bug進行了規避

if (!flag_xml && doc.queryselectorall) 

try catch(e) finally

}}else catch(e) {}

}}

改進如下,現在只需規避ie的object bug。

if (!flag_xml && doc.queryselectorall) 

if(doc.documentmode !== 8 || node.nodename.tolowercase() !== "object")}}

return ret;

}return result;

}catch(e){}

}}

另一種改進是,通過對元素節點的上下文新增乙個類名,這樣查詢就可以一步到位。不足之處就是前前後後要對類進行操作。

if (!flag_xml && doc.queryselectorall) }}

if(doc.documentmode !== 8 || context.nodename.tolowercase() !== "object")}}

return result;

}catch(e){}

}}

但顯然對類進行操作對呼叫dom.contains快捷得多了。

querySelector操作dom的用法

獲取元素dom物件有很多種方法,以前一直在用getelementbyid和getelementsbytagname等,現在對這些方法和queryselector做乙個總結 常見的獲取元素的方法有3種,分別是通過元素id 通過標籤名字和通過類名字來獲取。1.dom提供了乙個名為getelementby...

你不了解的querySelector

概述返回當前文件中匹配乙個特定選擇器的所有的元素 使用深度優先,前序遍歷規則這樣的規則遍歷所有文件節點 返回的物件型別是 nodelist.elementlist document.queryselectorall selectors 下面的例子返回乙個文件中所有的class為 note 或者 al...

stack用法,queue用法,

stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stack s1 stack s2 stack 的基本操作有 入棧,如例 s...