Javascript jQuery-如果元素存在于两个元素之间
我有一些标记,其中有img标记,有时图像之间有一段。我想使用javascript(jQuery)来查找这个元素(如果它存在的话)。但是,此标记是通过CKEditor插入的,因此确切的标记可能会有所不同 理想情况下,标记如下所示: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 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那是因为
没有出现。我明白了,所以这会返回这两个标签之间的所有标签。意思是,我只需要收集文本:)我将更新我的答案,说明我是如何解决这个问题的:)