2016-02-25 2 views
0

У меня есть пара разделов с текстовыми полями, в которых установлен скрытый экран. Когда один из этих divs переключается нажатием кнопки, я хочу переключать все, что есть в них (текстовые поля), потому что тогда только контейнер div переключается, а все в нем скрыто. Это то, что я хочу, чтобы это произошло:Как вы выбираете потомков элементов в JQuery?

$("#btn").click(function() { 
    $("#specificDiv", "#specificDiv#textareaID").toggle(); 
}); 

Или

$("#btn").click(function() { 
    $("#specificDiv", "#specificDiv textarea/allDescendants").toggle(); 
}); 

Идея следующая логика селектор CSS не работает.

+1

'#pecificDiv *' будет каждый потомок div. Но скрытие div должно скрыть все в нем. – Teepeemm

+0

Просто перекрестная проверка: вы уверены, что все идентификаторы в вашем документе уникальны? – Tomalak

+0

Что вы ожидаете от этого? Даже в CSS, # specificDiv # textareaID не будет работать, поскольку это потребует элемента с двумя идентификаторами. Возможно, вы хотите посмотреть [документацию] (http://api.jquery.com/jQuery/#jQuery-selector-context) о том, как работает функция jQuery. –

ответ

1

Вы не должны отделять каждый селектор, заключенный в кавычки. Вместо этого, они должны быть разделены запятыми, но все обернутые вместе в кавычки:

Чтобы найти все textarea потомков #specificDiv:

$("#specificDiv, #specificDiv textarea").toggle();

Или найти только направить textarea детей #specificDiv:

$("#specificDiv, #specificDiv > textarea").toggle();

Вы также можете использовать .children() или .find() чтобы найти либо прямых потомков, либо любых потомков:

$("#specificDiv").toggle(); 
$("#specificDiv").find("textarea").toggle(); 
Смежные вопросы