我有一个 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/