Как получить доступ к элементу, используя «это» - PullRequest
0 голосов
/ 25 августа 2010


Мне нужен доступ к тегу SPAN в каждом теге DIV
, поэтому я использовал следующий код

    $("DIV").click(function(){      
    $(this + "SPAN").show();
});


Правильно ли указан код выше? Это не работает для меня! Это тоже ничего не показывает ..
Пожалуйста, помогите мне


Спасибо,
Правин Дж

Ответы [ 2 ]

9 голосов
/ 25 августа 2010

Вы можете использовать .find() для получения элемента внутри другого, например:

$("div").click(function(){      
  $(this).find("span").show();
});

Как правило, чтобы получить что-нибудь относительно this, вы обычно начинаете с $(this) и некоторой комбинации функций обхода дерева для перемещения.


Для фактического кода, на основе комментариев ниже:
Если ваш код выглядит так:

<fieldset>
  <legend>Link</legend>
  <span>CHECK</span>
</fieldset> 

Тогда .find() не будет работать, так как на селекторе $("legend"), потому что <span> не внутри , <legend> это брат, поэтому используйте .siblings() (опционально с селектором) вот так:

$("legend").click(function(){ 
  $(this).siblings("span").show(); 
});​

Вы можете попробовать здесь

2 голосов
/ 25 августа 2010

Вы можете использовать функцию поиска, чтобы сделать это. (Кроме того, использование строчных букв для селекторов является предпочтительным.)

$("div").click(function(){      
    $(this).find("span").show();
});
...