在我的應用程序中,我檢查用戶的瀏覽器是否爲HTML5-capable,並且能夠在輸入字段(使用Modernizr)中顯示placeholders。如果是這樣,我想以自動化的方式從HTML文檔中刪除所有labels
,但我真的不知道如何。刪除JavaScript中的所有標籤元素
在通俗地說,如果用戶的瀏覽器支持佔位符,我希望把這個:
<label for="email">
Email:
</label>
<input type="email" id="email" placeholder="Your email">
進入這個-in每次事發後:
<input type="email" id="email" placeholder="Your email">
我所擁有的是:
if (Modernizr.input.placeholder) {
// Remove all labels from the HTML document
}
到目前爲止,我已將id
s分配給標籤,並將它們逐個刪除,但我會就像一個更有效的方法來做到這一點。
不要這樣做!從規範*「placeholder屬性不應該用作標籤的替代品」。*刪除標籤意味着人們無法檢查他們是否在正確的字段中輸入正確的值(尤其是如果它是由自動放置的 - 完全),並且使任何使用屏幕閱讀器的人都很難或不可能知道他們應該進入該領域的內容。 (你的例子的一個好佔位符是「[email protected]」而不是「你的電子郵件」。) – Quentin 2012-03-25 20:57:50
@Quentin。這應該是一個答案。我會upvote這個答案 – Ben 2012-03-25 21:06:24
@本 - 雖然我認爲這是一個很好的建議,但它不回答這個問題。 – Quentin 2012-03-25 21:07:45