javascript - 有没有办法使用查询选择器选择具有一些文本数据的第一个 p 标签

标签 javascript html css-selectors

我有一个 div,它有多个 p 标签。我想获取不为空的 p 元素的文本。例如

<div>
 <p></p>
 <p></p>
 <p>data</p>
 <span>some</span>
</div>

我想获取第三个p元素的数据,即data

我可以使用

document.querySelector("p:nth-child(1)");

但在上面的情况下我必须定义 child 号。但是我怎样才能根据空条件得到p

最佳答案

假设空格不会成为问题,您可以使用 :not() pseudo-class:empty pseudo-class 结合使用:

document.querySelector("p:not(:empty)");

由于您使用的是 document.querySelector(),这可确保仅匹配第一个此类元素。您不能用选择器(即在选择器字符串本身内)来表达“第一个 p:not(:empty)”。

(当然,您可能希望使选择器更加具体,除非您确实对整个文档中的第一个非空 p 元素感兴趣。)

关于javascript - 有没有办法使用查询选择器选择具有一些文本数据的第一个 p 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43606547/

相关文章:

html - Firefox 上带有固定 header 的 CSS 视差

html - 下划线悬停是强调额外

带有类的第一个元素的 CSS 选择器

html - 使用 css 选择器获取深度嵌套的按钮

html - 如何使用 Capybara 找到紧跟在另一个元素之后的特定元素?

javascript - TypeScript 类型注释来表达可变数量的泛型?

javascript - HTML 5 如何记录过滤的 Canvas

javascript - 在 Html 中单击列表 (li) 项目不适用于 jquery

javascript - 从 JSON : P5. js 中提取信息

javascript - 如何使用 JavaScript 保存图像?