2012-12-08 129 views
1

我正在使用图片的jquery拖放到目标div。检查一个div是否有使用jquery的img元素

我有一个按钮,调用一个函数,应该检查图像是否在div内,但我无法让它正常工作。

我尝试做如下:

<script> 
    .... 

    $('#check').click(function(){ 
     if($("#droptarget:has(img.img1)")){ 
      alert("yes"); 
     }else{ 
      alert("no"); 
     } 
    }); 
</script> 

<img id="img1" class="img1" src="image.png"> 
<div id="droptarget"></div> 
<a href="javascript:" id="check">check</a> 

什么是错在我的代码?

编辑:总是进入第一个条件,而不做图像警报(“是”)的股利

回答

7

$()总是一个jQuery对象,这使得它truthy,尝试

$('#check').click(function(){ 
    if($("#droptarget:has(img.img1)").length > 0){ 
     alert("yes"); 
    }else{ 
     alert("no"); 
    } 
}); 

它检查是否有到选择任何比赛#droptarget:has(img.img1)

0

你的脚本是上述#check内,因此点击事件没有得到约束。使用$(document).ready(或只是$(...)或者只是将脚本移动到#check以下。

相关问题