Как получить доступ к элементу, используя “это”
-
01-10-2019 - |
Вопрос
Мне нужно получить доступ к тегу SPAN с помощью каждого тега DIV
поэтому я использовал следующий код
$("DIV").click(function(){
$(this + "SPAN").show();
});
Верен ли приведенный выше код?У меня это не работает!Он тоже ничего не показывает..
Пожалуйста, помогите мне
Спасибо,
Правин Дж .
Решение
Вы можете использовать .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();
});
Другие советы
Вы можете использовать функцию поиска, чтобы сделать это. (Кроме того, используя строчные для селекторов, предпочтительнее.)
$("div").click(function(){
$(this).find("span").show();
});