2016-12-01 12 views
0

私はFacebook用のWebExtensionをプログラミングしており、プライバシー設定に基づいてCSSを起動します。forループをjQueryセレクタの中で実行するには?

$(document).ready(function(){ 
    $("a[data-tooltip-content*='Public']").closest(".userContentWrapper._5pcr").css({"background-color": "yellow"}); 
    $("a[data-tooltip-content*='Only Me']").closest(".userContentWrapper._5pcr").css({"background-color": "lime"}); 
    $("a[data-tooltip-content*='friends']").closest(".userContentWrapper._5pcr").css({"background-color": "cyan"}); 
    $("a[data-tooltip-content*='Public']").closest("._2tdc").css({"background-color": "yellow"}); 
    $("a[data-tooltip-content*='Only Me']").closest("._2tdc").css({"background-color": "lime"}); 
    $("a[data-tooltip-content*='friends']").closest("._2tdc").css({"background-color": "cyan"}); 

しかし、別のページレイアウトには、CSSコードで呼び出す必要のあるクラス値が異なります。

forループをjQueryセレクタ内に書き込む方法はありますか?

$("a[data-tooltip-content*='Public']").closest("**For(a list of class name), loop through all of them)**").css({"background-color": "yellow"}); 

私は$.eachのjQueryを使用してみましたが、私は実際に文書を読んだ後のアイデアの多くを持っていません。

var obj = {".userContentWrapper._5pcr" , "._2dc"}; 

$.each(obj, function(index,element)){ 
     $("a[data-tooltip-content]").closest(obj).css({"background-color": "violet"}); 
     $("a[data-tooltip-content*='Public']").closest(obj).css({"background-color": "yellow"}); 
     $("a[data-tooltip-content*='Only Me']").closest(obj).css({"background-color": "lime"}); 
     $("a[data-tooltip-content*='friends']").closest(obj).css({"background-color": "cyan"}); 
} 

サンプル結果(original image link):

sample result

+2

[ '$ .each'](http://api.jquery.com/jquery.each/) – empiric

+1

カンマ、あなたは上の選択する必要がある場合複数のクラス。 –

+0

が削除されました~~~~~~~~~ – jona

答えて

2

これは、アレイ内のすべてのクラス名を格納し、ただしループ

var classses = ['.class1','.class2']; 
for(var i=0;i<classes.length;i++) 
    $("a[data-tooltip-content*='Public']").closest(classes[i]).css({"background-color": "yellow"}); 

を使用するのと同じくらい簡単であるべきで、一般的に複数のセレクタはカンマで区切ることができます。

$("a[data-tooltip-content*='Public']").closest('.class1, .class2') 
             .css({"background-color": "yellow"}); 
1

あなたはほとんどそれをしなかった自分

$("a[data-tooltip-content*='Public']").closest(".class1, .class2, .class3").css({"background-color": "yellow"}); 
関連する問題