2012-10-18 37 views
1

正如this問題所述,並且在this小提琴中,當注入輸入時,value屬性似乎沒有添加到DOM,MooTools似乎在內部處理它。不幸的是,這意味着輸入從而注入:當使用mootools注入文本輸入時缺少值屬性

new Element("input", {type: "text", value: "injected value"}).inject(parent); 

不能選擇像這樣:

parent.getElements('input[value="injected value"]').length; 

(這個返回0而不是1,因爲它會如果值屬性存在)

在我的項目中,我需要插入空白輸入框,但只有在沒有空白輸入框的情況下; if(parent.getElements('input[value=""]').length == 0)然而,無論有多少空白輸入,這總是可以解決。

有沒有更好的方法來實現我的目標,或者是否有修復看起來像一個錯誤?

回答

1

你可以嘗試添加:

var x = new Element("input", {type: "text", value: "injected value"}).inject(parent); 
x.setAttribute("value",x.value); 

警告:雖然這修正了該元素的值您的問題屬性沒有被體現出來,value屬性通常不檢查一個字段爲空的好方法,因爲它沒有與輸入內容同步。

這將是更好的使用是這樣的:

$$('input[type=text]').filter(function(item){return (item.value=="");}) 
+0

http://jsfiddle.net/Me7Zr/4/顯示它在行動。 –

+0

非常好,完美的作品!感謝您的快速回復。 – cfreear