Javascript 在两个div标记之间查找p标记

Javascript 在两个div标记之间查找p标记,javascript,jquery,html,Javascript,Jquery,Html,我想使用jQuery找出两个不同div之间的标记。比如说 <div class="abc"> <div class="pqr"> <h2>Header Two</h2> <p>some text</p> </div> </div> <p>some text 1</p> <div class="lmn">

我想使用jQuery找出两个不同div之间的标记。比如说

<div class="abc">
    <div class="pqr">
        <h2>Header Two</h2>
            <p>some text</p>
    </div>
</div>
<p>some text 1</p>
<div class="lmn">
      <p> some text </p>
</div>

标题二
一些文本

一些文本1

一些文本

所以我想找到带有“一些文本1”的p。(文本可以是任何内容。)


有人能告诉我怎么做吗?

这里有一种方法:

基本上,使用
+
标记,找出是否存在这样的模式,然后检索所需的内容

if($('.abc + p + .lmn').length) { // + matches the elements at the same level
    var x = $('.abc + p').text(); //Now that such a pattern exists , note that it could be multiple, so handle it appropriately, fetch the text
    console.log(x);
}

以下内容将查找所有具有前面同级
.abc
和后面同级
.lmn
p
标记:

$('.abc + p + .lmn').prevUntil('.abc','p')
如果您只想在两个
div
s之间添加任何
p
标记,请执行以下操作

$('div + p + div').prevUntil('div','p')

您可以获取文档中的所有p标记,然后检查父项是否为div标记,然后获取非父项div的p标记文本,如下所示:

$(document).ready(function(){     
       $("p").each(function(index){
         if (!$(this).parent().is("div")) alert($(this).text())         
       })     
    })

签出此演示:

选择器应该符合哪些特定条件?两个
标记之间有任何
元素吗?任何两个不同标记之间的
元素?您是否可以在
.lmn
之前使用该元素?像这样:。或者使用ID来标识中间的标签?这将更容易阅读和更准确。我建议更改当前代码,将一些文本更改为类似错误文本的文本,将一些文本1更改为类似必需文本的文本,以便更好地理解问题,即使答案已经提供。Hey Devid,它是两个标记之间的任何元素。不会
$('div div p').text()
更好地匹配两个不同div之间标记的OP查询?我认为在两个不同div之间实际上意味着嵌套在两个div中no,我不这么认为..OP想要匹配相同的级别节点,即
一些文本1

-空格表示嵌套元素,而不是相同级别的元素哦,是的,对不起“一些文本”和“一些文本1”“把我弄糊涂了。如果页面上有任何
p
标记在
.abc
.lmn
之间,那么这将匹配整个页面上
.abc
之后的每个
p
标记,即使它没有
.lmn
之后。@user52889这就是我们拥有外部
If
条件的原因。”。