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

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009