Javascript jQuery-如果元素存在于两个元素之间

Javascript jQuery-如果元素存在于两个元素之间,javascript,jquery,each,Javascript,Jquery,Each,我有一些标记,其中有img标记,有时图像之间有一段。我想使用javascript(jQuery)来查找这个元素(如果它存在的话)。但是,此标记是通过CKEditor插入的,因此确切的标记可能会有所不同 理想情况下,标记如下所示: <img src="something.jpg"> <img src="something2.jpg"> <p>Some text</p> <img src="something3.jpg"> <p>

我有一些标记,其中有img标记,有时图像之间有一段。我想使用javascript(jQuery)来查找这个元素(如果它存在的话)。但是,此标记是通过CKEditor插入的,因此确切的标记可能会有所不同

理想情况下,标记如下所示:

<img src="something.jpg">
<img src="something2.jpg">
<p>Some text</p>
<img src="something3.jpg">
<p>Some other text</p>
<img src="something.jpg">
<br>
<p>Some text</p>
<img src="something2.jpg">
<p>Some text</p>
<img src="something3.jpg">
<br>
<p>Some text</p>
var img_array = $('#container').find('img');

img_array.each(function(){
   // Do something here
})
编辑:以下是我最终做这件事的方式:

var img_array = $('#container').find('img');
img_array.each(function(){
  var between = $(this).nextUntil('img');
  var text = between.text();
})
nextUntil返回介于之间的一组元素。所以我把它去掉,只保留简单的文本。工作起来像个小天使!:)

您可以简单地使用

例如,以下内容将匹配匹配图像和下一个图像之间的每个
标记

$('img[src="something.jpg"]').nextUntil('img', 'p');


<img src="something.jpg">
<br>
<p>Some text</p>            <--
<img src="something2.jpg">
$('img[src=“something.jpg”]).nextUntil('img','p');


某些文本

不能使用基本jquery选择器进行选择,如
$(“img+p”)
$(“img+br+p”)
这将选择要使用的图元


无需创建阵列。我认为
$(…)
返回一个数组。或者实际上,一个像数组的对象。是的,我知道。只需为img标记使用一个选择器,并循环通过该选择器即可。但这不是我的问题:p那是因为
没有出现。我明白了,所以这会返回这两个标签之间的所有标签。意思是,我只需要收集文本:)我将更新我的答案,说明我是如何解决这个问题的:)