2013-06-27 21 views
0

屬性我有HTML格式如下:查詢HTML中達特

<form name="fruit_name"> 
    <input id="fruit-name" type="hidden" name="Banana"> 
</form> 

我有飛鏢查詢水果的名字是這樣的:

var fruitName = query('#fruit-name').attributes.values.last; 

這個工作在Chrome和Safari很大。但在Firefox中,屬性以不同的順序返回,因此name不再是最後一個。如何在不依賴瀏覽器的情況下獲取我之後的屬性的最佳方式是什麼?

回答

1

attributes is a Map,所以這應該工作:

var fruitName = query('#fruit-name').attributes['name']; 
1

您可以使用:

var fruitName = query('input#fruit-name').name; 

query的結果,其實是一個InputElement和你有更多的成員,在一個簡單的Element

通過與input你會告訴該分析儀的query結果是InputElement前面加上#fruit-name。沒有這個,你會得到一個警告('Element'中沒有這樣的getter'name')。


最後,從性能上來看,要做到這一點的最好辦法是document.getElementById(id)因爲getElementById is really faster than querySelector):

InputElement fruitNameElement = document.getElementById('fruit-name'); 
var fruitName = fruitNameElement.name; 

在這裏,第一行允許輸入fruitNameElement防止警告時調用fruitNameElement.name