2016-11-07 3 views

答えて

3

あなたはおそらくのような、文字列連結を使用するためにあなたを伝える答えを取得するつもりだ:

はそれをこのよう
$('.images').hover(function() { 
    var img = $(this).attr('title'); 
    $('.image-border[title="' + img + '"]').addClass('show'); 
}); 

をしないでくださいこれは悪い考えです。 imgに格納されている値をエスケープしていないため、セレクタが破損する可能性があります。チェックのこの種を行うには

の方法は、静的にあなたができることはすべてを選択することで、その後、唯一の動的な値と一致するものが含まにfilter結果:

は、このようにしないでください
$('.images').hover(function() { 
    var img = $(this).attr('title'); 
    $('.image-border[title]').filter(function() { 
    return $(this).attr('title') === img; 
    }).addClass('show'); 
}); 
+0

これは私が探していたアプローチのほうが多かったです。セキュリティは、ほとんどの場合でも重要です! - ありがとう –

+0

さて、これは今より良く見えます。 –

+2

このセレクタを使用して、フィルタ関数 '.image-border [title]'を実行します。それは@zzzzBovによって細かく入れられた答えを変えるものではありません。 title属性を持つ.image-border要素のみを提供するため、テストする要素の数を減らすだけです。 – SuperNOVA

関連する問題