Javascript 2个列表,如果列表1中的元素x具有类y,则将类添加到第2个列表中的元素x
我正面临一个难题。我不能将我的问题分解为javascript/jQuery,我不知道如何做 我有两张单子。这是我的第一份清单Javascript 2个列表,如果列表1中的元素x具有类y,则将类添加到第2个列表中的元素x,javascript,jquery,list,Javascript,Jquery,List,我正面临一个难题。我不能将我的问题分解为javascript/jQuery,我不知道如何做 我有两张单子。这是我的第一份清单 <ul class="list1"> <li class="with-iframe"></li> <li></li> <li class="with-iframe"></li> <li></li> <li></li> &l
<ul class="list1">
<li class="with-iframe"></li>
<li></li>
<li class="with-iframe"></li>
<li></li>
<li></li>
</ul>
我的第二个列表有相同数量的元素,但没有类
<ul class="list2">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
如果我的第一个列表中的
有一个“with-iframe”类,那么我的第二个列表中的元素(在相同位置)也有一个“with-iframe”类
每个列表中的项目数始终相同
有没有解决我的问题的办法
感谢您对纯JS的帮助和解释
var l1=document.querySelectorAll('ul.list1 li');
var l2=document.queryselectoral('ul.list2 li');
对于纯JS的(var i=0;i)
var l1=document.querySelectorAll('ul.list1 li');
var l2=document.queryselectoral('ul.list2 li');
对于(var i=0;i您可以按如下方式执行:
$('.list1 li').each(function(index) {
if ($(this).hasClass('with-iframe')) {
$('.list2 li').eq(index).addClass('with-iframe');
}
});
$('.list1 li')。每个(函数(索引){
if($(this).hasClass('with-iframe')){
$('.list2li').eq(index).addClass('with-iframe');
}
});
。使用iframe{
颜色:红色;
}
测试
- 试验
测试
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
您可以按以下方式执行:
$('.list1 li').each(function(index) {
if ($(this).hasClass('with-iframe')) {
$('.list2 li').eq(index).addClass('with-iframe');
}
});
$('.list1 li')。每个(函数(索引){
if($(this).hasClass('with-iframe')){
$('.list2li').eq(index).addClass('with-iframe');
}
});
。使用iframe{
颜色:红色;
}
测试
- 试验
测试
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
试试这样的方法
$(“.list1 li.with iframe”).each(函数(){
var index=$(this.index();
$(“.list2li:n子项(“+(索引+1)+”).addClass(“带iframe”);
});
。使用iframe
{
背景色:#aaa;
颜色:#fff;
}
第一名单
第二份名单
试试这样的方法
$(“.list1 li.with iframe”).each(函数(){
var index=$(this.index();
$(“.list2li:n子项(“+(索引+1)+”).addClass(“带iframe”);
});
。使用iframe
{
背景色:#aaa;
颜色:#fff;
}
第一名单
第二份名单
您可以简单地循环第一个列表中的元素,当您使用iframe
找到具有类的元素时,将相同的类添加到第二个列表中该位置的项中
因此:
- 使用
$(“.list1 li”)迭代元素。每个(…)
- 检查当前项的类值
if($(li).hasClass(“带iframe”))
- 获取位于相同位置的第二个列表项
var li=$(“.list2 li”)[idx]
- 最后,将相同的类添加到该元素
$(li)。addClass(“with iframe”)
$(文档).ready(函数(){
$(“.list1 li”)。每个(函数(idx,li){
if($(li).hasClass(“带iframe”)){
var li=$(“.list2 li”)[idx];
$(li).addClass(“带iframe”);
}
});
});
您可以简单地循环第一个列表中的元素,当您使用iframe
找到具有类的元素时,将相同的类添加到第二个列表中该位置的项中
因此:
- 使用
$(“.list1 li”)迭代元素。每个(…)
- 检查当前项的类值
if($(li).hasClass(“带iframe”))
- 获取位于相同位置的第二个列表项
var li=$(“.list2 li”)[idx]
- 最后,将相同的类添加到该元素
$(li)。addClass(“with iframe”)
$(文档).ready(函数(){
$(“.list1 li”)。每个(函数(idx,li){
if($(li).hasClass(“带iframe”)){
var li=$(“.list2 li”)[idx];
$(li).addClass(“带iframe”);
}
});
});