2016-09-27 42 views
1

我需要運行測試以檢查給定類中的所有div是否包含數字。如何測試節點列表(div)中的文本值(正則表達式)

我卡斯帕寫入行是:

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

控制檯返回以下錯誤:

expected 'document.querySelectorAll(".line-1 .af-nb-follower")' to contain /[0-9]+/, but it was "" 

我儘量選擇項[0] ,但我得到了同樣的錯誤..

我檢查了我的控制檯中的選擇器,我可以看到我的nodeList。 任何想法都會受到歡迎! 最佳, 安德烈

回答

0

你不得不重複,例如

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

之間包含了一些在ES6返回true

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

令人驚歎! var name名稱數組只有一個eror,應該是elemArray,但它很好用! –

+0

@AndréDjoDjo - oops,現在修復了數組名稱。 – adeneo

+0

非常感謝你! :) –