jquery中两个给定对象中的公共对象

时间:2014-10-29 19:33:54

标签: javascript jquery html css

我有一个java脚本代码,我必须在其中更改公共对象的样式。

$(document).ready(function(){
var obj1=$("p:contains('Z')");  //output p:3
var obj2=$("p:contains('C')");  //output p:1 and p:3
 printCommon(obj1,obj2).css("color","red");   //it should change p3 color to red 

});

这样做的最佳方法是什么。我应该在printCommon函数中写什么

我的HTML如下。

 <p>A-B-C</p>
 <p>D-B-T</p>
 <p>I-Z-C</p>

1 个答案:

答案 0 :(得分:2)

过滤一个集合中的每个项目以查看其他集合是否包含它。

JSFiddle: http://jsfiddle.net/TrueBlueAussie/1bv963pk/1/

function printCommon($ob1, $ob2) {
    return $ob1.filter(function () {
        return $ob2.is(this);
    });
}

这是有效的,因为如果项目与其集合中的任何元素匹配,is将返回true。

这可以减少为另一个列表的过滤器:

JSFIddle: http://jsfiddle.net/TrueBlueAussie/1bv963pk/2/

function printCommon($ob1, $ob2) {
    return $ob1.filter($ob2);
}