2016-03-30 10 views
0

私は以下のPHPコードをechoステートメントで示しています。大括弧は空ですが、私がCSSを修正するために内部に置いたステートメントを保証することができます - 一つの瑕疵があります。正確に一致するクラスの条件がある場合のjQuery

class属性が "zoom"または "zoom first"の要素の場合にはうまく動作します。残念ながら、 "woocommerce-main-image zoom"を含む "zoom"クラスを持つすべての要素に対して機能します。

私は「woocommerce-メイン画像」クラスを持つ要素を除外することもできますが、私はクリーンなソリューションを好むだろう、これら2つの指定されたクラスを持つ要素に自分のコードを適用すると、属性:検索したい場合は

if ($(this).hasClass("zoom") || $(this).hasClass("zoom first")) {} 
+1

$(this).attr( "class")=== "zoom" || $(this)).attr( "class")=== "最初にズーム" – Jorrex

+1

クリーナーの解決策このフィドルをチェックhttp://jsfiddle.net/ZdNaf/ – pr0metheus

+0

これは、クラスが "ズーム "または"ズームファースト " – Jorrex

答えて

0

専用の「ズーム」クラスを持つ要素、または「ズーム」および「最初」の両方を持っている要素を独占的に、多分あなたは、以下の試みることができる:

var search = ["zoom", "zoom first"]; 
 

 
$.each(search, function(i, v) { 
 
    var classes = v.split(' '); 
 

 
    $('.' + classes.join('.')) 
 
    .filter(function() { 
 
     return $(this).attr('class').split(' ').length == classes.length; 
 
    }) 
 
    // Do something here 
 
    .css('background', 'yellow'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="zoom">zoom</div> 
 
<div class="zoom foo">zoom foo</div> 
 
<div class="first zoom">first zoom</div> 
 
<div class="zoom first">zoom first</div> 
 
<div class="zoom foo first">zoom foo first</div> 
 
<div class="zoom first foo">zoom first foo</div>

関連する問題