第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與 HTML/JavaScript 中的元素屬性保持一致

與 HTML/JavaScript 中的元素屬性保持一致

小唯快跑啊 2023-06-15 16:48:30
<input name='x' id='y' list='z'>在 JavaScript 中,你可以這樣做var input = document.createElement('INPUT');input.id = 'x'; //this worksinput.name = 'y'; //this also worksinput.list = 'z'; //this does not work我的問題很簡單:這里發(fā)生了什么魔法?為什么 .id 和 .name 有效,但 .list 無效(需要使用 setAttribute 設(shè)置) ?有沒有辦法知道(除了知道一切)在輸入元素上設(shè)置列表屬性的方法正在使用setAttribute("list", "z");?setAttribute 調(diào)用的魔力是什么,而 input.list 不是?
查看完整描述

2 回答

?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

這不起作用,因為listan 的屬性HTMLInputElement被定義為只讀

interface?HTMLInputElement?:?HTMLElement?{?
?[HTMLConstructor]?constructor();

??...
??readonly?attribute?HTMLElement??list;???
??...
??
}
查看完整回答
反對 回復(fù) 2023-06-15
?
交互式愛情

TA貢獻1712條經(jīng)驗 獲得超3個贊

這里的問題是像id和這樣的屬性name可以追溯到文檔對象模型 (DOM)的更舊版本——可以追溯到1990 年代中期的DOM 級別 0(或“舊版 DOM” )。這些 DOM 屬性與 HTML 標(biāo)記中的同名屬性完全對應(yīng)。

相比之下,將元素list的預(yù)定義內(nèi)容附加<datalist><input>元素的屬性要晚得多。它在 2018-19 年左右開始出現(xiàn)在大多數(shù)瀏覽器中。

(即使是現(xiàn)在,CanIUse 也表明它在 Firefox 中還沒有準(zhǔn)備好......盡管我自己在Firefox 83中的實驗表明它已經(jīng)準(zhǔn)備好了。)

因此,最可靠的方法是使用:

const myInput = document.createElement('input');


myInput.setAttribute('id', 'x');

myInput.setAttribute('name', 'y');

myInput.setAttribute('list', 'z');


console.log(myInput.getAttribute('id'));

console.log(myInput.getAttribute('name'));

console.log(myInput.getAttribute('list'));


查看完整回答
反對 回復(fù) 2023-06-15
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號