2013-04-10 5 views
0

Я знаю, что в JQuery вы можете перебрать все элементы определенного типа с:перебор конкретных элементов

$(function() { 
    $('img').each(function() { 
    }); 
}); 

что, если я хочу itterate через элементы в определенном DIV, я попытался с помощью селектора ('#div' > a) но не похоже на работу

+0

Пожалуйста, разместите свою разметку, чтобы мы могли предложить подходящий селектор для ваших нужд. – fcalderan

+3

Ваш селектор должен быть '' #div> a'', а не '('#div'> a)' –

+0

что вы хотите ..? ? пожалуйста, будьте понятны ... даже если вы ошибаетесь, он должен быть '$ ('div> a')', который называется родительским селектором родительских прав в 'jQuery' –

ответ

1

Попробуйте с

$(function() { 
     $('#div_id img').each(function() { 
      alert($(this).attr('src')); 
     }); 
}); 
+0

' img' тег не имеет атрибута 'href' , –

+0

@ Gautam3164 Работает отлично, в чем разница между этим селектором и тем, который я использовал? Разве это не для детей? – Crossman

+0

yes '>' означает 'direct child', тогда как' #div img' означает все изображение внутри '# div'. –

0

«, что если я хочу itterate через элементы в определенном DIV, я попытался с помощью («#div»> а) селектор, но это не похоже на работу»

Это $('#div > a'), и это будет предназначаться только a элементы, которые являются прямыми потомками элемент с iddiv.

Чтобы перебрать их, Вы можете сделать следующее:

$('#div > a').each(function (index) { 
    console.log(this); //your a element 
    console.log(index); //the loop index 
}); 
0

Из того, что вы показали: Ваш селектор CSS стиль действительно должен быть $ («DIV> а») (ссылка dystroy), если только если a-tag является непосредственным потомком (то есть дочерним) div-тега, иначе я предпочел бы перейти на $ («div a»), который будет искать всех потомков.

Заметьте, что я удалил #div отсюда. Я предполагаю, что вы действительно имеете в виду ссылку на div-тег, а не какой-либо элемент с id 'div'. Если id на самом деле является «div», тогда используйте #div.