Ата-аналық блоктағы барлық сілтемелерді өшіріңіз, бірақ оның еншілес блогында емес

Менің сыныптағым бар секция бар. Html құрылымы сол сияқты көрінеді.

<div class="wrapper">
   <div class="header">
     LOGO
   </div>
   <div class="nav">
     <!-- Anchors -->
   </div>
   <div class="container">
     <!-- Other contents anchors etc. -->
   </div>
</div>

Кабельдің ішіндегі барлық байланыстарды ажыратудың бір жолы бар ма? Мұны істеудің тиімді жолы қандай болуы мүмкін?

Барлық сілтемелерді өшіру үшін келесі кодты пайдаланамын -

$('.wrapper').find('a').die('click');
$('.wrapper').find('a').unbind('click');
$('.wrapper').find('a').removeAttr('onclick');
$('.wrapper').find('a[href^="javascript"]').removeAttr('href');

Біз оны циклды қолданбай тексере аламыз ба? Немесе, бұл циклдар мен ілмектерді пайдаланбай, бірдей әсер етеді?

0
$ ('wrapper nav'). Байланысты ('басу');
қосылды автор Harsha Venkatram, көзі

7 жауаптар

ГарриФинк жауаптарының негізі осындай нәрсені пайдаланады closest функциясы ата-анадан қарағанда тиімдірек)

$('.wrapper').on('click', 'a', function(e){  
    if(!$(this).closest('.nav')){  
        e.preventDefault();  
    }  
})
2
қосылды
Ия, шынайы. Және «a» тегіне сүзу де сценарийді жылдамдатады.
қосылды автор HarryFink, көзі

Тырысу

$('.wrapper').find('a').not($('.wrapper').find('.nav a')).on('click', function(e){
    e.preventDefault();
})
1
қосылды

Мұны көріңіз,

$('.wrapper div:not(".nav") a').removeAttr('href');

Жұмыс өрісі

1
қосылды

Have a look here: http://jsfiddle.net/jSEnu/1/

КОДЕК

$(".wrapper div:not('.nav') a").prop("href", "#"); 
1
қосылды

div ұрпақтары болып табылатын барлық якорные , div ішіндегі барлық сыныптар үшін < код> nav :

$('.wrapper div:not(".nav") a')
1
қосылды

Оларды сол сияқты таңдаңыз

$('div.wrapper > div:not(".nav") a')

A sample (not the same, just similar): http://jsfiddle.net/balintbako/rGwtw/

1
қосылды

Мынадай нәрсені көріңіз:

$('.wrapper').on('click', function(e){
    var $target = $(e.target);
    if(!$target.parents('.nav')){
         e.preventDefault();
    }
})
1
қосылды