Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将特殊效果应用于选定的过滤器_Javascript_Jquery - Fatal编程技术网

Javascript 将特殊效果应用于选定的过滤器

Javascript 将特殊效果应用于选定的过滤器,javascript,jquery,Javascript,Jquery,好的,我正在使用quicksand jquery过滤器。现在,我想在选择任何过滤器时向所有图像添加一个特定的效果(我在javascript中输入了这个效果)。过滤器列表如下所示:- <ul class="filter"> <li class="current all"><a href="#">Fred</a></li> <li class="daisy"><a href="#">daisy<

好的,我正在使用quicksand jquery过滤器。现在,我想在选择任何过滤器时向所有图像添加一个特定的效果(我在javascript中输入了这个效果)。过滤器列表如下所示:-

<ul class="filter"> 
   <li class="current all"><a href="#">Fred</a></li> 
   <li class="daisy"><a href="#">daisy</a></li> 
   <li class="richard"><a href="#">richard</a></li> 
   <li class="ama"><a href="#">ama</a></li> 
   <li class="santy"><a href="#">santy</a></li> 
   <li class="washington"><a href="#">washington</a></li> 
   <li class="deuces"><a href="#">deuces</a></li> 
</ul> 

现在,为了将特殊效果添加到所选过滤器的所有图像中(比如摄影),我添加了此代码
$(“$filteredPortfolio”).addClass(“row3”)
,您在最后一行看到它,这基本上是因为该效果可以作用于具有类
row3
的所有元素,但当我在浏览器中调试它时,它无法工作。我做错了什么?我仍然认为自己是一个jQuery新手,所以请原谅我,如果答案是显而易见的。

< P>你的最后一行应该是:

$filteredPortfolio.addClass("row3");
.find()总是生成一个jQuery对象,因此不需要额外的$()


您正在对
[data type=..]
进行筛选,如果在HTML中定义了数据类型属性,这是可以的,但是如果您通过.data('type',val)jQuery api设置它,则不会起作用。要让筛选器找到它,必须使用.attr('data-type',val)。较新版本的jQuery更好地区分数据和属性,它们实际上是独立的。jQuery用于合并它们并交替使用它们可能在较旧的版本中起作用。

我会研究一下,这可能就是您在
else
中最后一行的意思:
$filteredPortfolio.addClass(“row3”)
这应该是上面一行中
$.find()
的jQuery对象结果。谢谢Jared。但是这种效果还没有应用到过滤后的图像上。你知道怎么做吗?
$portfolioClone
中包含了什么我们不知道;没有显示。换句话说,您提供的内容不足以找出问题所在,因为上面引用了一些内容,但并没有描述这些内容。好的,所以我想找到映像文件的类,并且我使用这个$(“.portfolio a”)。find(“img”).attr(“class”),然后,若它并没有这个类,我将向其中添加类“row3”。如何实现这一点?您所说的是获取class属性的正确方法。要添加新类,请调用.addClass('row3')。更新并解释另一个潜在问题。将整个内容发布到JSFIDLE上,我就可以确定了。好吧,我想找到映像文件的类,我使用这个$(“.portfolio a”)。find(“img”).attr(“class”),然后,若它并没有这个类,我会将类“row3”添加到其中。我想:$(“.portfolio a img”).not(“.row3”).addClass('row3'))
$filteredPortfolio.addClass("row3");