在我的案例中,一直使用jquery过滤器
stuck in using jquery filter in my case
只使用js,我就可以选择4,6和8。
挑战是当我悬停一个项目时,但不是第一个,然后我需要输出/提醒3,5,7。当我将一个值悬停在输出中时,我需要将其从输出中排除。例如,我将鼠标悬停在1上,然后什么也没发生。如果我悬停在2上,那么它会输出/警报3,5,7。如果我悬停在3上,那么它会输出/警报5,7,因为3是其中一个值。
$('.item').filter(function (index) {
return index > 2 && index % 2 == 1
}).css('font-weight', 'bold');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
也许这会有所帮助:
// index starts from 0, so to select odd numbers you need to check with == 0
$('.item').filter(function (index) {
// If you don't wan't 9 bold add && index < 8
return index > 1 && index % 2 == 0;
}).css('font-weight', 'bold');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
您应该选择除第一个:not(:first)
之外的所有项目。
然后您可以选择值为3,5,7 的项目
$('.item').filter(function (index) {
return index > 2 && index % 2 == 1
}).css('font-weight', 'bold');
迭代这些值,如果值等于您悬停的值,则不要将其添加到文本字段中。
$('.item').filter(function (index) {
return index > 2 && index % 2 == 1
}).css('font-weight', 'bold');
$('.item:not(:first)').mouseover(function() {
var text ="";
var itemval = $(this).text();
items = $('.item').filter(function (index) {
return index > 1 && index % 2 == 0 && index < 8
})
$.each(items, function(i,val){
var value = $(val).text();
if( value != itemval ){
text += value + ' ';
}
});
$('.answer').text(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="answerswer"></div>
尝试
$(".item:gt(0)").hover(function () {
var currentIndex = $(this).index();
var oddEvent = currentIndex % 2;
$('.item').removeClass("test");
$('.item').filter(function (index) {
return index % 2 == oddEvent && index > 0;
}).addClass("test");
});
演示
相关文章:
- jQuery过滤器,返回不同的jQuery对象(即$(this).Pparent())
- jQuery过滤器有时显示所有元素
- jQuery过滤器搜索带有多个选择框
- 我可以在 jQuery 过滤器方法上使用多选择器表达式吗?
- 单击退格键 jQuery 过滤器不起作用
- 如果可能的话,我需要帮助了解这个jQuery过滤器函数是如何工作的,逐行工作
- 值大于(小于)变量的 jQuery 过滤器选项
- 使用 Jquery 过滤器检查重复的列数据
- jquery过滤器具有两个不同的数值
- jQuery过滤器不返回数据元素,只返回整个对象
- jQuery过滤器通过文本输入选择选项
- 在我的案例中,一直使用jquery过滤器
- 如何使一个简单的jQuery过滤器列表只接受整个单词,所以它不匹配部分单词,只接受整个单词
- Jquery过滤器比较日期
- JQuery过滤器复选框显示/隐藏元素
- jQuery过滤器-不重新组织的项目(同位素)
- Jquery过滤器没有按预期工作
- Jquery过滤器显示不稳定的结果
- Jquery过滤器"标签条件
- 如何转换jQuery过滤器以使用waitForKeyElements