這裏是我的html代碼:jQuery的檢測充滿輸入
<label for="input">Name</label>
<input type="text" id="input"/>
我想讓腳本,隱藏標籤如果輸入有什麼填充它。我做到了這一點,但它沒有做任何事情。爲什麼?
if ($("input").val().length !== 0) {
$(this).siblings().hide();
}
這裏是我的html代碼:jQuery的檢測充滿輸入
<label for="input">Name</label>
<input type="text" id="input"/>
我想讓腳本,隱藏標籤如果輸入有什麼填充它。我做到了這一點,但它沒有做任何事情。爲什麼?
if ($("input").val().length !== 0) {
$(this).siblings().hide();
}
您在實際使用時,$不指的是輸入字段(本).sibl ...
(this
默認爲Window
)
因爲它不圍繞一個功能或任何包裹。
另請參閱$('#input').siblings().hide()
。
您正在使用<input type="text" id="input"/>
爲$("input").val()
,但它缺少「#」的ID選擇爲$("#input").val()
您可以使用。每個函數來查看輸入和隱藏的標籤,如果使用下面是空的:
$("#input").each(function() {
if (!$(this).val()) {
$(this).siblings().hide();
}
});
這不行的http://codepen.io/anon/pen/EyZPdV?editors=1010 –
@Karolina Ticha它在你提供的codepen鏈接中工作。正如你所看到的,標籤「Name」是隱藏的。 – Josh
這不是問題。 html元素也可以通過它們的標籤名稱來訪問。 –
是的你是對的,這裏引起的問題是使用$(this)。 thanx指向它 –