在DalekJS中迭代DOM元素



有没有人知道一个简单的方法来迭代,并操作,所有的元素匹配使用API查询?

我最简单的用例是这样的-不是真正的代码,但希望你知道我在寻找什么。
test.query('textarea').each(function(v, i){
  this.type(v.id, 'test' + i);
});

我可以用任意JS执行,jQuery等。我只是觉得这可能是戴立克做的我没注意到的事情

谢谢!

编辑

原来我的JS执行备份不工作…

test
  .execute(function(){
    var textareaIds = [];
    (function($){
      $('textarea').each(function(){
        textareaIds.push($(this).attr('id'));
      });
    })(window.jQuery);
    this.data('textareaIds', textareaIds);
  });

但是可能由于代码排队然后执行的性质,您不能在之后的for循环中使用数组。我错过什么了吗?

我们将在即将到来的DalekJS版本中改进API会话,因此迭代DOM元素&客户端执行的JavaScript之间的交互&作为测试的一部分,在服务器上执行的JavaScript将会非常繁琐。

关于你的不工作执行的例子。您不能仅仅在之后的Node代码中使用通过this.data传递的数据,您需要将其添加到链中。由于这是一个非常实验性的功能,我们并没有真正实现一个可以稍后处理数据的API。

你可以这样滥用log.message方法:
.execute(// your code)
.log.message(function () {
  // get the data
  var myArray = test.data('textareaIds');
  // do something with it
  require('fs').writeFileSync('myFile.txt', JSON.stringify(myArray));
})

我想这不是你想要/需要的,但是在进一步的测试和断言中重用这些数据是不可能的。但是我们正在努力。

相关内容

  • 没有找到相关文章

最新更新