Вот мой HTML:JQuery синтаксис селектора вопрос
<form>
<dl>
<dt> </dt>
<dd><input type="hidden"></dd>
<dt>Dont hide this one</dt>
<dd><input type="text"></dd>
</dl>
</form>
Я использую JQuery, чтобы скрыть dt
/dd
элементы, где тип входа спрятанных с этим кодом:
$("input[type=hidden]").each(function() {
$(this).parent().hide().prev().hide();
});
Но я также хотите применить это только к dt
, где текст
. Как я могу сделать такой выбор?
Обновление: Может быть, мне нужно уточнить: Несколько человек отправили ответы, где он скрывает дд перед проверкой, если содержание DT также
. Оба условия должны быть истинными, прежде чем скрыть как dt, так и dd.
Окончательное решение: Вот что я закончил с:
$('input[type=hidden]').filter(function() {
return $(this).closest('dd').prev('dt').html() === ' ';
}).each(function() {
$(this).closest('dd').hide()
.prev('dt').hide();
});
Извините, неправильно поняли, что вы пытались сделать. Обновлено – cobbal
отлично! Спасибо! – Andrew
Как люди уже отправили ответы ... и я не могу прокомментировать, код коббала отсутствует: $ ("input [type = hidden]"). Each (function() {$ (this) .parent(). hide(). prev(). filter (function() {return $ (this) .html() === " ";}). hide(); }); возврат – Skawful