jquery - 使用 jQuery 检查 id 和 class

标签 jquery selector

我尝试使用 jQuery 检查我的 id,但我想知道为什么它不起作用。我做错了什么?

<td class="food" id="butter">
    butter
</td>
<td class="food" id="milk">
    milk
</td>
$(function(){
    if ($('.food').attr('id') == "butter"){
        $('.food').css({ color: 'red' });
    } else { 
        $('.food').css({ color: 'blue' });
    }
});

它显示全红色。有任何想法吗?非常感谢。

最佳答案

首先有多个 .food 元素,因此您需要使用 each() 进行循环,然后在该循​​环中您需要使用 this 仅引用当前元素。试试这个:

$('.food').each(function() {
    if (this.id == "butter"){
        $(this).css({ color: 'red' });
    } else { 
        $(this).css({ color: 'blue' });
    }
});

然后您可以使用三元进一步缩短它:

$('.food').each(function() {
    $(this).css('color', this.id == 'butter' ? 'red' : 'blue');
});

Working example

关于jquery - 使用 jQuery 检查 id 和 class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042025/

相关文章:

javascript - 包含 Div 的部分的 jQuery 选择器

javascript - HTML/Javascript - 按钮 onClick 调用带有变量的函数

iphone - 我是否需要 @protocol 声明或其他内容来确保子类定义选择器?

objective-c - 在 Swift 类中使用类型为 "Selector"的函数参数将使该函数对 Objective-C 不可用

ios - Swift 无法识别的选择器发送到实例错误

php - Laravel 测试页面上元素的顺序

jquery - HTML5 视频时间跟踪

jQuery UI - 在 DOM 中移动可放置元素

jquery - 标题后的线条和图像,自动计算线条宽度以填充容器

jquery - 使用 Filter 方法未获取所需元素