如何在nodelist(div)中测试文本值(regexp)

时间:2016-09-27 16:26:53

标签: javascript mocha casperjs

我需要运行一个测试来检查来自给定类的所有div是否都包含一个数字。

我在casper写的这句话是:

meteor npm install

控制台返回以下错误:

'document.querySelectorAll(".line-1 .nb-follower")'.should.have.text(/[0-9]+/);

我尝试选择项目[0] 但我得到了同样的错误..

我在控制台中检查了选择器,我可以看到我的nodeList。 欢迎任何想法! 最好, 安德烈

1 个答案:

答案 0 :(得分:1)

你必须迭代,例如

var elements   = document.querySelectorAll(".line-1 .nb-follower");

var elemArray  = [].slice.call(elements);

var allNumbers = elemArray.every(function(elem) {
    return /[0-9]+/.test.elem.textContent;
});

将测试每个元素文本,如果每个元素都包含0到9之间的数字

,则返回true

在ES6中

var elements   = document.querySelectorAll(".line-1 .nb-follower");
var allNumbers = [...elements].every( elem => /[0-9]+/.test.elem.textContent );