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

  • Incredible Tutorials

    Incredible T

    27 EKİM 2006
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011
  • The Computer Chronicles

    The Computer

    7 Kasım 2012