SORU
20 EYLÜL 2010, PAZARTESİ


Bir öğe olmadığını kontrol edin bir ebeveyn bir çocuk

Aşağıdaki kodu var.

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>

<div id="hello">Hello <div>Child-Of-Hello</div></div>
<br />
<div id="goodbye">Goodbye <div>Child-Of-Goodbye</div></div>

<script type="text/javascript">
<!--
function fun(evt) {
    var target = $(evt.target);    
    if ($('div#hello').parents(target).length) {
        alert('Your clicked element is having div#hello as parent');
    }
}
$(document).bind('click', fun);
-->
</script>

</html>

Child-Of-Hello tıklandığında olmak, $('div#hello').parents(target).length ^ dönecektir sadece bekliyorum . 0.

Ancak, ben herhangi bir yeri tıklatın zaman sadece olur.

Benim koduyla yanlış bir şey mi var?

CEVAP
20 EYLÜL 2010, PAZARTESİ


Eğer sadece doğrudan üst ve diğer ataları değil ilgilenen varsa, sadece parent(), kullanmak ve seçici verebilirsiniz target.parent('div#hello') gibi.

Örnek:http://jsfiddle.net/6BX9n/

function fun(evt) {
    var target = $(evt.target);    
    if (target.parent('div#hello').length) {
        alert('Your clicked element is having div#hello as parent');
    }
}

Ya da varsa Eğer bu maç herhangi bir ataları olup olmadığını görmek için kontrol etmek istiyorsanız, o zaman .parents() kullanın.

Örnek:http://jsfiddle.net/6BX9n/1/

function fun(evt) {
    var target = $(evt.target);    
    if (target.parents('div#hello').length) {
        alert('Your clicked element is having div#hello as parent');
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Palmundo Ec

    Palmundo Ec

    11 HAZİRAN 2009