Крис отвечает хорошо и amp; но он терпит неудачу, если значение undefined . Простое улучшение делает его твердым:
function htmlDecode(value) {
return (typeof value === 'undefined') ? '' : $('<div/>').html(value).text();
}
Используйте его без больше чем:
$("#panel :input");
>
означает только прямые дочерние элементы элемента, если вы хотите, чтобы все дочерние элементы независимо от глубины просто используйте пространство.
Вам понадобится
var i = $("#panel input");
или , в зависимости от того, что именно вы хотите (см. Ниже)
var i = $("#panel :input");
>
будет ограничьте детей, вы хотите всех потомков.
РЕДАКТИРОВАТЬ: Как заметил Ник, есть тонкая разница между $ ("# панель ввода")
и $ ("# панель: ввод)
.
Первым будет извлекаться только элементы типа input, то есть
, но не
,
и Элементы
. Спасибо, Ник, сам не знал этого и исправил свое сообщение соответствующим образом. Оставил оба варианта, потому что я предполагаю, что OP не знал об этом и - технически - запросил ввод. ..: -)
var i = $("#panel input");
должно работать :-)
> будет получать только прямые дочерние элементы, без дочерних элементов
: - для использования псевдоклассов, например :hover и т.д.
вы можете прочитать о доступных css-селекторах псевдоклассов здесь: http://docs.jquery.com/DOM/Traversing/Selectors#CSS_Selectors