的形式,form.name
將通常交回表格的名稱,但會不如果窗體有一個名爲「名」在JavaScript中,獲取FORM名稱的正確方法是什麼?
var f = document.createElement('form'); f.hasAttribute('name'); // false f.name = 'abc'; f.getAttribute('name'); // "abc" var i = document.createElement('input'); i.name = 'name'; f.appendChild(i); f.name; // HTMLInputItem f.getAttribute('name') // "abc" f.name = 'efg'; f.name; // HTMLInputItem f.getAttribute('name') // "efg"
從這個練習的元素,似乎窗體的name
屬性真的是它的屬性。
這種行爲是從value
var i1 = document.createElement('input'); var i2 = document.createElement('input'); // test value i1.setAttribute('value','value1'); i1.getAttribute('value'); // value1 i1.value = 'value2'; i1.getAttribute('value'); // value1 i2.value = 'value1'; i2.hasAttribute('value') // false // test name i.setAttribute('name','name1'); i.getAttribute('name'); // name1 i.name = 'name2'; i.getAttribute('name'); // name2 i2.name = 'name1'; i2.hasAttribute('name') // true
value
截然不同的使用其作爲默認屬性,而form.name
是首先嚐試具有element.name='name'
元件的方法,然後使用attribute('name')
set/getAttribute適用於'name',但不適用於'value',對吧? –
'form.name'的問題是它不能保證工作 - 一個小功能需要一些時間來追蹤。 –
如果你在表單中有'「,那麼form.name將不會返回你所期望的。 – 10basetom