2011-09-27 63 views

回答

1

假設所有的領域都有一個ID

DEMO

var fieldsWithPlaceholder = []; 
var inputs = document.getElementsByTagName("input"); 
for (var i=0, n=inputs.length;i<n;i++) { 
    if (inputs[i].getAttribute("placeholder") !=null) { 
    fieldsWithPlaceholder.push(inputs[i].id); 
    } 
} 

alert(fieldsWithPlaceholder); 

更新:您可以爲其他地方張貼null,未定義或空白試驗一氣呵成:

if (inputs[i].getAttribute("placeholder")) { // there is something there 
+0

WEEE - 第一次:) – mplungjan

0

得到所有首先輸入元素類型

document.getElementsByTagName("input")

遍歷上述列表中,然後使用

的getAttribute在每個元件的如下getAttribute("placeholder")如果它不爲空或未定義,則輸入具有其設置。

1

使用getElementsByTagName,對於那些具有佔位符的過濾器未定義的屬性值。

順便說一句,屬性和屬性之間有很大的區別,你真的在​​這之後?如果您在HTML中設置了一個名爲佔位符的屬性,那麼您應該使用getAttribute。但是,如果你設置了一個DOM元素的屬性(這是我推測你的帖子),那麼你應該直接使用該屬性。希望你不會混淆這兩者。

在某些瀏覽器中,屬性和屬性保持同步,但在其他瀏覽器中則不同步。例如,Firefox不會爲非標準屬性(即未在相關標記標準中指定的屬性)創建元素屬性,也不會根據與HTML5不一致的版本中的屬性更改創建或修改標準屬性。

0

嘗試這樣:

var myEls = [], 
    allEls = document.getElementsByTagName('input'); 

for (var i=0; i < allEls.length; i++) { 
    if (allEls[i].placeholder) 
     myEls.push(allEls[i]); 
} 
相關問題