javascript - 使用 javascript 定位某个类的最接近的 div

标签 javascript jquery

我正在努力解决如何正确应用 .closest

一系列输入被用来记录一组网球比赛的得分。 如果用户输入 7-6 或 6-7 组合,则会出现一个隐藏的 div,以便他们可以记录决胜局。

我只想显示最接近当前输入的隐藏决胜局 div。

这是我到目前为止所拥有的:

$(document).ready(function() {
                var div = $('.tiebreakfield');
                $('.score1, .score2').keyup(function() {
                    var value1 = parseInt($(".score1").val());
                    var value2 = parseInt($(".score2").val()); 
                   if ((value1 == 6 || value1 == 7) && (value2 == 6 || value2 == 7) && (value1 !== value2)) {
                        div.fadeIn();
                    } else {
                        div.fadeOut();   
                    }
                });
            });

$(document).ready(function() {
                var div = $('.tiebreakfield');
                $('.score3, .score4').keyup(function() {
                    var value1 = parseInt($(".score3").val());
                    var value2 = parseInt($(".score4").val()); 
                   if ((value1 == 6 || value1 == 7) && (value2 == 6 || value2 == 7) && (value1 !== value2)) {
                        div.fadeIn();
                    } else {
                        div.fadeOut();   
                    }
                });
            });

如果输入 7-6 组合,上面的代码将显示所有隐藏的 div。

这是一个示例... http://jsfiddle.net/jQHDR/

最佳答案

  1. 您不需要 2 个 ready()
  2. 具有 .tiebreakfield 类的元素不是 div

如果我很好地理解了您的问题,那么我认为这是您需要的代码示例:

                $('.score1, .score2').keyup(function() {
                var element = $(this).parent().siblings(".tiebreakfield");
                var value1 = parseInt($(".score1").val());
                var value2 = parseInt($(".score2").val()); 
               if ((value1 == 6 || value1 == 7) && (value2 == 6 || value2 == 7) && (value1 !== value2)) {
                    element .fadeIn();
                } else {
                    element .fadeOut();   
                }
            });

演示: http://jsfiddle.net/vTQr6/

关于javascript - 使用 javascript 定位某个类的最接近的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866049/

相关文章:

javascript - 确认浏览器后退按钮否则留在页面上

javascript - 从 Angular 范围内的数组获取所有对象

javascript - 调用 API 时 redux 函数 mapDispatchToProps 错误

javascript - 为什么在 JavaScript 中,实现一个哈希表,ES6 map 普遍比普通对象快?

jquery - 带有 datePicker 的日历事件 - 停止刷新

javascript - jQuery:希望隐藏元素的 height() 答案为 0

jquery - 如何检测浏览器版本并显示不支持的消息

javascript - 如何让 slider 根据其他 slider 的值动态变化?

javascript - 使用文件系统作为离线播放的视频源

javascript - THREE.js:如何为一组长度快速变化的圆柱体网格对象(+位置+方向+颜色)进行编码