在JavaScript/jQuery中迭代网页元素的最佳方法
我正在开发一个Chrome扩展,并尝试迭代具有以下格式的多个实例的网页元素:在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
<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();
});