Как расширить конкретного родителя в Jquery - PullRequest
0 голосов
/ 02 декабря 2009

У меня есть меню, созданное с использованием jquery. Я хочу, чтобы при щелчке на определенном родительском только дочернем элементе под этим родительским шудом раскрывалось все остальные дочерние элементы в соответствии с другим родительским шудом.
У меня есть родительский идентификатор, так что я могу расширить конкретного родителя.

Мой код выглядит следующим образом.

<script>
$(document).ready(function(){
  var msg1;
  var msg14;
var msg = false;
alert((document.getElementById(''P17_LOCATION_ID'')).value);
alert(msg14);
$(''.dropdown_menu'').click(function(event) {
msg = !msg;
if (msg)'
$(this).parent(''.parent_menu'').find(''.child_menu'').slideDown("slow");
  else 
$(''.child_menu'').hide();
return false;
 });
' });
</script>

Здесь - $(this).parent(''.parent_menu'').find(''.child_menu'').slideDown("slow"); отвечает за скольжение дочернего меню для родителей, но в настоящее время расширяются все дочерние меню, которые я хочу остановить, и когда я нажимаю на какого-либо родителя, тогда ребенок, находящийся под этим родителем, должен отображаться, так как я можно передать идентификатор для этого утверждения выше. Пожалуйста, предложите какое-нибудь решение

Ответы [ 2 ]

2 голосов
/ 02 декабря 2009

$ (expr) .parent (sel) возвращает всех родителей expr, которые соответствуют sel. Вы не хотите $ (это) .closest ('. parent_menu')

0 голосов
/ 02 декабря 2009

В качестве альтернативы вы также можете использовать только первый элемент в коллекции, возвращаемый parent():

$(this).parent('.parent_menu').eq(0).find('.child_menu').slideDown('slow');

Тем не менее, я согласен, что closest() более элегантный, и он в основном делает то же самое. Надеюсь, мой пост все прояснит для вас.

...