我用这个:
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中创建它?
答案 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");
})