這裏是我的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
s,其中的文字是
。我該如何做這種選擇?
更新:也許我需要澄清:有些人在檢查dt的內容是否也是
之前發佈了答案,它隱藏了dd。在隱藏dt和dd之前,兩個條件都必須是真的。
最終解決方案:這裏是我結束了:
$('input[type=hidden]').filter(function() {
return $(this).closest('dd').prev('dt').html() === ' ';
}).each(function() {
$(this).closest('dd').hide()
.prev('dt').hide();
});
對不起,誤解了你正在做的事。現在更新 – cobbal 2009-12-09 19:11:18
完美!謝謝! – Andrew 2009-12-09 19:14:11
由於人們已經轉貼了答案......我不能評論cobbal的代碼是缺少這個:$(「input [type = hidden]」)。each(function(){$(this).parent()。 hide(); }); hide()。prev()。filter(function(){return $(this).html()===「 」;})。hide返回 – Skawful 2009-12-09 18:31:45