2015-09-01 1 views
0

Я хочу выбрать все элементы HTML, за исключением из DIV и ребенка DIV для Назначают событийкак можно выбрать все элементы, за исключением из DIV и ребенка дивы в JQuery

элементы, как это:

<span 1 id="select1"></span> 
<span 2 id="select2"></span> 
<span 3 id="select3"></span> 
<span 4 id="select4"></span> 
<span 5 id="select5"></span> 
<span 6 id="select6"></span> 

<!-- here is elements that i don't want select that --> 
<div id="dontSelect"> 
<table> 
    <tr> 
     <td> 
     don't select my element 
     </td> 
    </tr> 
</table> 
</div> 
<!-- here is elements that i don't want select that --> 

как можно выбрать, как это? Спасибо

ответ

1

Я думаю, что простое решение может быть это присоединить обработчик к элементу документа, а затем проверить, является ли цель мероприятия находится внутри dontSelect элемента, если так ничего

не делать
$(document).click(function (e) { 
    if (!$(e.target).closest('#dontSelect')) { 
     //do your stuff 
    } 
}) 

Но если вы хотите, чтобы предназначаться только span элементы затем

$('span:not(#dontSelect span)').click(function(){ 
    //your stuff 
}) 

или

$(':not(#dontSelect, #dontSelect *)').click(function(){ 
    //your stuff 
}) 
1

Для всех поверочного элемента, вы можете попробовать,

$('span'); 

Для всех пролетов с идентификатором, начинающимся с select Вы можете попробовать

$("span[id^='select']"); 

Для любого элемента, вы можете попробовать

$('*').not('#dontSelect, #dontSelect *')