:contains()在Opera,IE(7,8)和Chrome中运行良好但在Firefox中运行良好

时间:2010-10-06 13:19:57

标签: jquery firefox

我写了一个搜索过滤器。它根据输入字段中输入的文本显示/隐藏视频库中的一些缩略图。输入字段有一个keyUp事件。

$('.videoSearch').keyup(function(e){
  var searchString = $(e.srcElement).val();
  var el = $($(e.srcElement).parents().find('.videoThumbs').first());
  $(el).find(".title:not(:contains('"+searchString+"'))").each(function(i,e){
   $(e).parent().parent().parent().parent().parent().parent().fadeOut(300);
  });
  $(el).find(".title:contains('"+searchString+"')").each(function(i,e){
   $(e).parent().parent().parent().parent().parent().parent().fadeIn(300);
  });
 });

它在Opera,IE(7,8)和Chrome中运行良好但在Firefox中运行良好。 keyUp事件按预期触发(也在firefox中),但没有拇指被隐藏。 Firebug在控制台中没有记录任何错误。

任何帮助将不胜感激 提前致谢 \叶普

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,您可以使用filter功能并手动编码标准:

$(".title").filter(function() { return $(this).html().indexOf(searchString) < 0; })
    .each (...);

应该可以在任何浏览器下工作。