使用innerText查找元素

时间:2016-09-29 13:16:25

标签: javascript

我用这个:

document.querySelectorAll('div.pu-g div.pure-u div.des.3-mb-1 div.ng-spe span.ng-binding.ng-scope[contains(text(),'Stock')]')

但是我收到了这个错误:

SyntaxError: missing ) after argument list

我尝试做的是将innerText中包含的所有元素作为特定单词。是否可以使用JS在简单的DOM中创建它?

1 个答案:

答案 0 :(得分:0)

由于元素文本不是属性,我认为你不能用属性选择器来获取它。但是,您可以过滤NodeList以返回include textContent中单词“Stock”的元素。

const stocks = [...document.querySelectorAll("div.pu-g div.pure-u div.des.3-mb-1 div.ng-spe span.ng-binding.ng-scope")]
    .filter(elements => elements.textContent.includes("Stock")) //note that `includes` is case sensitive

这是使用spread和lambdas的ES6代码。这是ES5解决方案。

var stocks = [].slice.call(document.querySelectorAll("div.pu-g div.pure-u div.des.3-mb-1 div.ng-spe span.ng-binding.ng-scope").filter(function(elements) {
    return elements.textContent.includes("Stock");
})