本机浏览器承诺为一组查询的元素提供服务
Native browser promise for a group of queried elements
在查询元素/节点时,是否有方法创建承诺/履行?这不起作用,因为我在var completed = elements.every(function(el) { if (el.nodeType === 1)
迭代器中得到el
是undefined
。此外,由于未定义,promise不会拒绝。
没有jquery,请
var initialize = new Promise(function(resolve, reject) {
rippleElement = document.getElementById('ripple-element');
toolbar = document.querySelector('#main-toolbar');
headerName = document.getElementById('name-title');
panel = document.querySelector('paper-header-panel[main]');
drawer = document.querySelector('paper-drawer-panel');
mainPanelContent = document.getElementById('mainPanelContent');
//elements is not routing list, routing list is elementList
var elements = [rippleElement, toolbar, headerName, panel,
drawer, mainPanelContent];
var completed = elements.every(function(el) {
if (el.nodeType === 1) {
return true;
} else {
return false;
}
});
if (completed) {
resolve();
} else {
var errMsg = 'error in querying elements';
reject(errMsg);
}
});
正如@Arun所说,如果不使用jQuery,可能需要等待dom加载。
var initialize = new Promise(function(resolve, reject){
function loaded(){
var rippleElement = document.getElementById('ripple-element'),
elements = [rippleElement],
completed = _.every(elements, function(el) {
if (el && el.nodeType === 1) return true;
else return false;
});
if (completed) resolve();
else reject('error in querying elements');
}
if (document.readystate === "complete"){
window.addEventListener("load", loaded, false);
} else {
loaded();
}
}).then(function(){
// ok
}, function(err){
// error
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
<div id="ripple-element"></div>
<div id="result"></div>
相关文章:
- 初学者反应查询(如何删除一个元素并附加另一个元素)
- 从鼠标点(及更多)查询位置元素
- 使用 Firebase 将多个元素作为快照进行查询
- j查询未来元素选择器
- 在 jQuery 中查询元素的字符串
- j查询 如何选择当前元素之后的下一个元素
- 为什么可以't我查询一个刚刚通过append()添加的元素
- Jquery为多个元素和事件查询一个事件处理程序
- 删除在单击其他选项卡时生成的url查询元素的一部分
- j查询未来媒体元素的功能
- j查询调整大小时移动元素
- j查询绑定单击不添加元素
- j查询间隔在到达最后一个元素后重新启动
- 使用基于查询字符串参数的 Angular 填充选择元素
- JSONPath不能查询元素
- jQuery+Module模式:何时声明/查询元素
- CSS+媒体查询+元素样式的帮助
- 获取 jQuery 插入的 DOM 元素,而无需在插入后重新查询元素
- 在将元素插入 DOM 后立即安全地查询元素的大小
- 在纯Javascript中查询元素的伪类