我现在使用的是FireFox+网络组件Polyfill。随着AJAX调用提供不同的数据集(本质上是一个提供相关主题链接的搜索表单),Webcomponent也会发生变化。不过,我正在尝试编写一些JavaScript来查询在ShadowDOM中显示的AJAX结果。
我的问题是,当我运行查询时,如果旧数据集大于新结果,我将得到新结果+旧搜索中元素的剩余长度。
Search1: "Teenage Mutant Ninja Turtles"
Resulting NodeList: ['Teenage', 'Mutant', 'Ninja', 'Turtles']
接着再搜索一次。。。
Search2: "Inspector Gadget"
Resulting NodeList: ['Inspector', 'Gadget', 'Ninja', 'Turtles']
Search3: "Warner Brother's Tiny Toon Adventures"
Resulting NodeList: ['Warner', 'Brother\'s', 'Tiny', 'Toon', 'Adventures']
Search4: "Freakazoid"
Resulting NodeList: ['Freakazoid', 'Brother\'s', 'Tiny', 'Toon', 'Adventures']
我的查询代码如下:
var nodes = document.querySelector('search-component').shadowRoot.querySelectorAll('div.result');
有没有一种方法可以查询polyfilled webcomponent nodelist并只获取当前时刻存在的DOM元素(忽略以前可能存在的元素)?