感谢您的浏览,所有有用的答案都已投票通过。
这是我的标记。我试图找到 2 个连续的 div cmk1 and cmk2
内容RIGHT
和 HERE
按顺序排列。
-
div id 1
不应该匹配,因为有一个right
但不是here
. -
div id 3
不应该匹配,因为有一个here
但没有right
. - 我正试图找到类似于
div id 2
的东西其中right
后面是here
.此外,文本必须准确无误:<div>more than right</div>
不应匹配,即使它包含单词right
执行此操作最有效的方法是什么?
更新:我有个想法,我可以找到 each
class=cmk1
.如果匹配正确,我可以选择它的 next
(cmk2) 如果它也匹配,那就是我要找的。但是我该怎么做 while
在 jquery 中循环?最重要的是我该如何退出?
<div class="sep" id="1">
<div class="cmk1">right</div>
<div class="cmk2">valc</div>
<div class="opp">vald</div>
<a class="go">Go</a>
</div>
<div class="clear">
<div class="sep" id="12">
<div class="cmk1">RIGHT</div>
<div class="cmk2">HERE</div>
<div class="opp">vala</div>
<a class="go">Go</a>
</div>
<div class="clear">
<div class="sep" id="59">
<div class="cmk1">vale</div>
<div class="cmk2">valf</div>
<div class="opp">here</div>
<a class="go">Go</a>
</div>
<div class="clear">
最佳答案
$('div.sep > div').each(function() {
if($(this).text() == 'RIGHT') {
if($(this).next('div').text() == 'HERE') {
alert('Values occur consecutively in div id: ' + $(this).parent().attr('id'));
return false;
}
}
});
我基本上遍历了每个 .sep div 的所有子 div 并测试了第一个单词。如果匹配,next
可用于确定下一个 div 是否包含第二个单词。
关于javascript - jquery遍历DOM寻找连续值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579603/