5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net

81 :デフォルトの名無しさん (ワッチョイ 0fc8-Ogwz):2017/05/07(日) 00:55:55.42 ID:nVVEnA7X0
>>80
こちらも動作を確認したがそちらと同じ。
英語の仕様書も確認したが確かにそう書いてある。
しかし動作はそうなってないね。

> 一度要素が特定の名前を使用して参照されると、
> たとえ要素の実際のIDまたはnameを変更しても、要素がツリーに残る限り、
> その名前は、この方法でその要素を参照する方法として利用され続ける。
これはつまり、ブラウザ内部に名前引き用のキャッシュを持っていて、
ヒットした場合はそれを使い、ミスなら新規登録、
ノードが取り除かれる時にエントリから消し、
DOMノードの属性変更ではエントリを確認してないと言っている。
(更新はしないので一旦登録されたら名前が残ったままになる)
高速化では定番の方法だし、実際に名前を変える必要があることは無いので、
内々で使う場合の仕様としてはこれもありだろう。
ただし外面仕様として出す場合はこれは無理だ。知識的に粗結合化出来てない。
(このAPIを使う場合に例外ケースを把握してないと使えない)

だからこの仕様を外面仕様としている場合は間違いなく糞だ。
ただし、実際の動作はそうなってない。
どっちが正しいのかは俺には分からん。

仕様として美しいのは間違いなく今のブラウザの動作だ。
だから推測するなら、
元々マクロ用だった為の奇妙な(ただし知っていると便利な)DOM周りの旧仕様を
一般的なプログラミング向けの仕様(直感的、統一的、一貫性重視)に
変更している最中といったところか。
俺が仕様について裁定する権限があるのなら、
上記引用部分を削除して終わりだね。(ブラウザの動作に合わせる)

162 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)