Javascript 从jquery获取所有元素
我有两个类,我想在一个页面的DOM中获取它们,以便将它们的内容文本与jQuery进行比较。我相信在JS中,它类似于:Javascript 从jquery获取所有元素,javascript,jquery,Javascript,Jquery,我有两个类,我想在一个页面的DOM中获取它们,以便将它们的内容文本与jQuery进行比较。我相信在JS中,它类似于: 函数myFonction(){ var item=document.getElementsByClassName(“标题”)[0]; 如果(项目){ 对于(var i=0;i
函数myFonction(){
var item=document.getElementsByClassName(“标题”)[0];
如果(项目){
对于(var i=0;i myFonction()代码>对每个类使用.getElementsByClassName
。迭代。获取
结果,如果groupA[i]==groupB[i],则执行任何操作。如果你太懒了,就让我帮你做一个“点”。lol既然您在答案中标记了jQuery,我将提供一个基于jQuery的解决方案。事情更简单一些,因为您不需要为循环制造混乱
您要做的是:
缓存/存储第一个出现的.title
元素的内部HTML
如果.title
元素存在,则迭代所有.title2
元素,并将其内部HTML与点1中缓存的HTML进行比较
我在下面提供了一个概念验证示例。匹配元素以黄色突出显示,仅用于视觉指示
$(函数(){
var compareTitle=函数(){
var$title=$('.title').first(),
titleContent=$title.html().trim();
如果($title.length){
$('.title2')。每个(函数(){
if($(this.html().trim()==标题内容){
console.log('OK');
$(this.css('background-color','yellow');
}
});
}
}
compareTitle();
});代码>
这是一个标题。
这不是一个标题。
这不是一个标题。
这不是一个标题。
这是一个标题。
这不是一个标题。
这不是一个标题。
这是一个标题。
这不是一个标题。
这不是一个标题。
这不是一个标题。
这不是标题。
是否要每个嵌套节点?您的代码中没有jQuery,这似乎太过分了。我可以假设您将接受jQuery作为解决方案吗?这听起来像是“为我将此javascript转换为jQuery”的问题。@Arrow抱歉,我不理解您的意思,我想这样做是为了在菜单上添加当前元素的箭头,当用户在页面之间导航时,有趣的是,使用jquery摆脱所有这些奇怪的讨厌循环会产生更多实际上并不容易阅读的代码(除非您熟悉jquery而不是dom api)@KevinB当您在评论时,我正在用本机JS更新我的答案alternative@KevinB是的,但是他在每次迭代中都调用第一个.title
元素的innerHTML,这不是很有效。我只是提供了一个更有效的替代方案。但是,这不是问题,是吗?@KevinB,那是什么?