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

  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • Photoshop Pro Help

    Photoshop Pr

    1 Ocak 2007