我正在尋找一種方法來在JS上對DOM樹執行全文搜索。用兩個詞,我想檢索包含給定字符串的文本節點列表。JS DOM:通過文本內容獲取元素
我試過mootools'Element.getElements (':contains[string]')
但我不能讓它與包含空格的字符串一起工作。
編輯:jQuery和mootools似乎有他們的:contains
運算符通過樹遍歷工作。這意味着沒有原生的方式來搜索頁面,這是正確的嗎?如果頁面很大,看起來效率很低,並且關於元素的唯一信息是要搜索的字符串。我錯了嗎?
我在考慮索引所有文本節點並檢查每個正在搜索的字符串的索引,但是在我的項目中,沒有辦法告訴DOM何時更新以便維護這樣的索引,至今。
有什麼更好的點子?
謝謝
我發現有必要在'XPathResult.ORDERED_NODE_SNAPSHOT_TYPE'之後添加一個額外的'null'。請參閱https://developer.mozilla.org/en-US/docs/Web/API/document.evaluate?redirectlocale=zh-CN&redirectslug=DOM%2Fdocument.evaluate – GKFX 2015-02-03 18:35:49