jQuery - .each() 输入值进行比较

标签 jquery css

我正在尝试实现一些功能,比如当您将鼠标放在一个文本字段上时,它会突出显示具有相同值的所有输入字段。我在类里面做到了,但我很难理解输入的值(value)。

HTML

<input type='text' class='value1' value='sample1'>
<input type='text' class='value2' value='sample2'>
<input type='text' class='value2' value='sample3'>
<input type='text' class='value2' value='sample4'>

jQuery

$(document).ready(function(){

$("input.value2").each(function(){
    $("input.value2").on('mouseover',function(){
        $("input.value2").css('background-color','yellow');
    });
    $("input.value2").on('mouseout',function(){
        $("input.value2").css('background-color','#fff');
    });
});
});

Fiddle

尝试将鼠标放在第二个文本字段上。

最佳答案

  1. 对所有输入使用通用类,例如我使用了 myClass
  2. 使用.filter()找到具有相同值的输入。

$(document).ready(function () {
    $("input.myClass").on('mouseover', function () {
        var value = this.value;
        $("input.myClass").filter(function(){
            return value == this.value;
        }).css('background-color', 'yellow');
    }).on('mouseout', function () {
        var value = this.value;
        $("input.myClass").filter(function(){
            return value == this.value;
        }).css('background-color', '#fff');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' class='myClass' value='sample1'>
<input type='text' class='myClass' value='sample2'>
<input type='text' class='myClass' value='sample3'>
<input type='text' class='myClass' value='sample4'>

关于jQuery - .each() 输入值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784089/

相关文章:

Javascript/jQuery 单击元素中的元素

html - 坚持div底部的正确方法

html - 如何使用 css-only 将对象定位到右侧的一定百分比而不超过 100%?

javascript - Ajax提交由PHP do-while循环动态生成的表单

jQuery:如何获取表单提交时点击了哪个按钮?

javascript - 如何在 Javascript/jQuery 中检测双击拖动

css - node-sass-middleware 生成未定义的 .css 文件

jquery - 更改表格行背景颜色

HTML 一种使用 CSS 在页面正方形中无限滚动文本的方法?

javascript - 获取有关更改的最新标签数据