Javascript 在两个div标记之间查找p标记
我想使用jQuery找出两个不同div之间的标记。比如说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">
<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
条件的原因。”。