2016-12-02 8 views
0

Jqueryでこれを行うことは可能ですか?Jqueryで異なる属性セレクタを組み合わせる

$("a[data-tooltip-content*!='Public')") - not containing any substring of "Public" 

意図コード:

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

1行目:( "公開"、 "オンリー・ミー"、 "友人")場合が発見されていない、

"バイオレット" に色を設定します
+0

が含まれているデータの属性が含まれていませんすべて<a>のタグを選択しますかそして、そうした場合、あなたが書いたセレクタが有効であることを確認してください(あなたが示したセレクタは有効ではありません)。 –

+0

何も問題ありませんか?私はそれを試みたが、それは動作していない! – jona

+0

私はコードの最初の行(バイオレット)を除いて 'Facebook Statuses'にCSSの背景色を呼び出すことができ、最初の行の間でconsole.logを試したので、このセレクタを再度コード化しようとしました。私は異なる複数の属性セレクタを実行した後、プログラムが実行を停止するように見える – jona

答えて

2

あなたの問題はおそらく複数の属性セレクタではなく、notセレクタ(これは存在しません)を使用している可能性があります。

!は「含まれません」には使用できませんが、にはには:not([class*="Public"])を使用できます。ここで

は(実施例であるだけでCSSの例ですが、jQueryのCSSセレクタと全く同じように動作します:

div { 
 
    background: red; 
 
} 
 
div:not([class*="asd"]) { 
 
    background: green; 
 
}
<div class="asd">123</div> 
 
<div class="dsa">456</div> 
 
<div class="">789</div>

+0

助けてくれてありがとう!!! :) この投稿のタイトルを誤解を招かないように変更するという意見がありますか?質問の? – jona

1

はい、使用する:not()

$('a:not([data-tooltip-content*="public"])') 

あなたは試したことがありますか?post

$('a:not([data-tooltip-content*="public"])').css('background-color', '#f00')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" data-tooltip-content="public">a link</a> 
 
<a href="#" data-tooltip-content="private">another link</a> 
 
<a href="#" data-tooltip-content="help me">aaaaanother link</a> 
 
<a href="#" data-tooltip-content="public thingy">abbbnother link</a>

関連する問題