0

「特定の」クラスがdiv内のスパンに適用されているかどうかを確認したいので、試してみました

$('#div').click(function() {
     console.log($(this).find('.myImgClass').length);  // returns 0-if not found
                                                      // 1 if found
}

HTMl

<div>
 <span class="myImgClass"></span>
</div>

これは正しい方法ですか?

4

5 に答える 5

2

jQuery.hasClass()これを行うには、メソッドを使用します。

var hasMyImgClassClass = $("span").hasClass("myImgClass");
于 2012-04-04T08:40:03.400 に答える
1

セレクターが間違ってdivいる#div

$('div').click(function() {
   console.log($(this).has('.myImgClass').length);
});
于 2012-04-04T08:41:19.390 に答える
1
$("div >span").click(function(){
 alert($(this).hasClass('myImgClass')) 
});
于 2012-04-04T08:47:44.413 に答える
1

これでうまくいくはずです、

$('div').click(function() {
  alert("Spans with .myImgClass: " + $(this).children('span.myImgClass').length);
});

JSFiddle.netの例

クラスでdivのみが必要な場合は、次のようにします。

$('div > span.myImgClass').click(function() {
  var theSpan = $(this);
  var theDiv = theSpan.parent();
  alert("Div with Span with .myImgClass.");
});
于 2012-04-04T08:48:03.427 に答える
0

正しく見えますが(divセレクターは別として)、スパンを具体的に確認する場合は、次のように変更します。

$('div').click(function() {
     console.log($(this).find('span.myImgClass').length);  
});
于 2012-04-04T08:40:41.740 に答える