0

如果我有多个类调用“位置”并且我需要查找“红色”是否在其中一个类中,我可以在 jQuery 中做到这一点吗?

<td title="Location" id="location_1" class="location" colspan="5">Red</td>
<td title="Location" id="location_2" class="location" colspan="5">Yellow</td>
.
.
.
<td title="Location" id="location_10" class="location" colspan="5">Orange</td>

我尝试了以下但不工作。

if($(".location").find("Red")){
    alert("found!");
}

什么是正确的方法......如果可能的话。非常感谢!

4

6 回答 6

5

工作 jsFiddle 演示

尝试这个:

if ($(".location:contains(Red)").length !== 0) {
    alert('found');
}

参考:


如果变量中有颜色名称:

var color = 'Red';
if ($(".location:contains(" + color + ")").length !== 0) {
    alert('found');
}
于 2013-06-10T06:14:47.650 回答
0

试试喜欢

$('.location').each(function(){  
     var my_cnt = 0;
     if ($(this).text() == "Red") {
           my_cnt += 1;
     } 
     if (my_cnt > 0) {
         alert("Match Found at "+my_cnt+" times");
     } else {
         alert("Match Not Found");
     }   
});
于 2013-06-10T06:20:39.357 回答
0

我建议,基于你想要做某事的假设,如果它被发现,而不是仅仅阅读一些警报:

$('.location').filter(function(){
    return (this.textContent || this.innerText).indexOf('Red') > -1;
}).addClass('redFound');

JS 小提琴演示

以上允许您对找到字符串 'Red' 的元素设置样式(如果indexOf()找到字符串则返回)。-1

如果您希望搜索不区分大小写,尽管您可以简单地使用正则表达式.test()

$('.location').filter(function(){
    return /\bred\b/gi.test(this.textContent || this.innerText);
}).addClass('redFound');

JS 小提琴演示

参考:

于 2013-06-10T06:16:42.087 回答
0

你可以

var reds = $(".location").filter(function(){
    return $.trim($(this).text()) == 'Red'
})

if(reds.length){
   alert('found')
}
于 2013-06-10T06:14:57.623 回答
0

to 的参数.find()是一个选择器,而不是要搜索的文本字符串。

if ($(".location:contains(Red)").length > 0) {
    alert("found!");
}
于 2013-06-10T06:14:59.643 回答
0

您应该尝试找到他们的 text() (这映射到 javascript 中的“InnerText”):

      $("td").each(function()
{
   if($(this).text()=="Red")
   {
     //Do what you want
   }
}); 
于 2013-06-10T06:18:49.157 回答