我正在考慮使用HTML5的placeholder
屬性。如果瀏覽器不支持HTML5,我可以使用jQuery作爲後備。但是,如果JS被關閉了呢?我如何使用漸進式增強理念來處理這個問題?HTML5&佔位符:如何逐步做到這一點?
回答
爲什麼不顯示實際的<label>
元素並用js隱藏它?
// js file
$('label').hide();
這樣,沒有js,他們會看到一個普通的標籤;與js,標籤將被刪除,你會得到你的jQuery的佔位符,或者你的html5佔位符。
這是做這件事的唯一方法,我可以想到這實際上是在做「漸進式增強」。我會稍微修改一下,以便您的JavaScript代碼不會隱藏標籤,而是從'label'文本動態創建一個「佔位符」,所以它不必在HTML源文件中重複。 –
它的語義不正確。從規範:「佔位符屬性不應該用作標籤的替代品。」 (請參閱:http://www.w3.org/TR/html5/common-input-element-attributes.html#the-placeholder-attribute) – StackOverflowNewbie
好吧,您不會刪除標籤,而是隱藏它。所以,從語義上講,你沒事。屏幕閱讀器也會獲得該標籤。 – swatkins
- 1. 如何做到這一點逐漸懸停效果
- 2. 如何做到這一點?
- 3. 如何做到這一點?
- 4. 如何做到這一點?
- 5. HTML5佔位符css填充
- 6. HTML5佔位符的jQuery
- 7. HTML5「佔位符」支持
- 8. html5佔位符對齊
- 9. 如果URL = this {//做到這一點} else {//做到這一點}
- 10. 迭代格式%佔位符逐個
- 11. PHP - 如何做到這一點,如果?
- 12. 如何使佔位符不上重點
- 13. 如何做到這一點不令牌
- 14. iBooks如何做到這一點?
- 15. SetTimeout如何做到這一點?
- 16. 如何做到這一點重定向?
- 17. 如何在jQuery中做到這一點?
- 18. 如何做到這一點倒計時
- 19. 如何做到這一點佈局?
- 20. 如何在Laravel做到這一點5.2
- 21. TreeView如何做到這一點?
- 22. 如何在jQuery中做到這一點?
- 23. 如何使用linq做到這一點?
- 24. 如何使用ajax做到這一點?
- 25. 如何做到這一點..倒退?
- 26. 如何做到這一點的LINQ
- 27. Facebook:如何做到這一點?
- 28. execv如何做到這一點?
- 29. 如何用純MySQL做到這一點?
- 30. Mysql查詢 - 如何做到這一點?
由於您在下面的評論中說過,您不喜歡使用'placeholder'來標記'輸入'的語義(就像目前流行的Stack Overflow搜索欄一樣),即使是動態的,我想假設你正在尋找其他地方的佔位符是安全的。你對他們的目的是什麼? –