在JavaScript/jQuery中迭代网页元素的最佳方法

在JavaScript/jQuery中迭代网页元素的最佳方法,javascript,jquery,html,google-chrome-extension,Javascript,Jquery,Html,Google Chrome Extension,我正在开发一个Chrome扩展,并尝试迭代具有以下格式的多个实例的网页元素: <div class="wrapper"> <span class="loud" style="text-decoration: none;">...</span> <div class="leave-gap">...</div> <p>"Some text"</p> <span id="id_12345" cla

我正在开发一个Chrome扩展,并尝试迭代具有以下格式的多个实例的网页元素:

<div class="wrapper">
  <span class="loud" style="text-decoration: none;">...</span>
  <div class="leave-gap">...</div>
  <p>"Some text"</p>
  <span id="id_12345" class="none">...</span>
  <div class="block-footer">...</div>
  <div class="leave-gap">...</div>
</div>
假设我使用
$a.next()
格式的语法来查找每个后续元素,我将如何确定元素的类

有没有比我提出的解决方案更快的方法


提前感谢。

假设您以自己的方式找到了元素,要找到元素的类

$(元素).attr(“类”)

或者你可以验证这个类是你想要的


$(element).hasClass(“className”)
您还可以用
类名
隐藏
div
标记

$(document).ready(function() {
//may be you can put the below in a function and call it when you condition meet.
    $('.leave-gap').hide();
    $('.block-footer').hide();
});

您可以使用
$(element).children().each(loopfunction)
来实现这个技巧

假设要隐藏两个特定元素之间的所有内容

检查测试用例:

$('.wrapper')。每个(函数(){
var foundgap=false
$(this).children().each(function()){
if($(this).hasClass('leave-gap')){
foundgap=true;//标记块的开头
返回;
}else if($(this).hasClass('block-footer')){
return false;//结束,断开'each'循环
}否则如果(foundgap){
$(this).hide();//我在块内。请按您的需要执行任何操作
}
})
});
*:非(正文):非(html){
边框:1px纯蓝色;
利润率:10px;
}

loud1
留下缺口
“一些文本”

身份证件 福特 留下缺口 loud2 留下缺口 “一些文本”

身份证件 福特 留下缺口
现代Javascript中的一种可能性

var firstLeaveGaps=document.querySelectorAll('.wrapper.leavegap:类型的第一个');
Array.prototype.forEach.call(firstLeaveGaps,函数(leaveGap){
var next=leaveGap.nextElementSibling;
while(下一个){
if(next.classList.contains('block-footer')){
打破
}
next.style.display='none';
next=next.nextElementSibling;
}
});

大声的
留下缺口
“一些文本”

身份证件 块页脚 留下缺口 大声的 留下缺口 “一些文本”

身份证件 块页脚 留下缺口
你的意思是像$a.next('.leave-gap')?你可以通过$(element)检查类是否存在。hasClass('leave-gap')感谢所有的评论。我需要好好玩玩这个。正如您可能从这个问题中看出的,我对Javascript相当陌生,这是一个“午餐时间”项目。你们都帮了大忙!如果他可以用jQuery在两行代码中完成这项工作,那么我们可以使用这段冗长的普通代码吗?
有没有比我建议的解决方案更快的方法?
这两行jQuery在哪里更快?问题标题
是用JavaScript/jQuery在网页元素上迭代的最佳方法以及问题的开头句子
我正在开发一个Chrome扩展
-modernThanks Mike。我如何使用这种技术隐藏“一些文本”

部分?$('p').hide()-我说我对这种东西不熟悉!
$(document).ready(function() {
//may be you can put the below in a function and call it when you condition meet.
    $('.leave-gap').hide();
    $('.block-footer').hide();
});