Here is my html:
<form>
<dl>
<dt> </dt>
<dd><input type="hidden"></dd>
<dt>Dont hide this one</dt>
<dd><input type="text"></dd>
</dl>
</form>
I'm using jQuery to hide the dt
/dd
elements where the input type is hidden with this code:
$("input[type=hidden]").each(function() {
$(this).parent().hide().prev().hide();
});
But I also only want to apply this to dt
s where the text is
. How can I do this sort of select?
Update: Maybe I need to clarify: A few people have posted answers where it hides the dd before checking if the content of the dt is also
. Both conditions must be true before hiding both the dt and dd.
Final Solution: Here's what I ended up with:
$('input[type=hidden]').filter(function() {
return $(this).closest('dd').prev('dt').html() === ' ';
}).each(function() {
$(this).closest('dd').hide()
.prev('dt').hide();
});