1. ホーム
  2. javascript

[解決済み] setAttributeとsetAttributeNS(null.)の違い。

2022-02-26 02:54:50

質問

setAttributeとsetAttributeNSをnamespaceパラメータとしてnullで呼び出すことの違いは何ですか?

また、getAttribute() を使用してから setAttributeNS を使用することに問題はありますか?

どのように解決するのですか?

setAttribute() は DOM 1 関数です。 setAttributeNS() は DOM 2 の関数で、タグや属性に適用されるべき xmlns 名前空間を第一引数で指定することにより、タグや属性名の衝突の問題を解決するものです。

属性に定義された名前空間接頭辞がない場合、第一引数は ヌル . この場合 setAttribute() を使用することが推奨されますが、一貫性を保つために setAttributeNS() . ご覧ください。

https://developer.mozilla.org/en/docs/Web/SVG/Namespaces_Crash_Course#Scripting_in_namespaced_XML

しかし、注意しなければならないのは、XML 1.1のNamespaces勧告です。 には、接頭辞のない属性の名前空間名は、以下のように記載されています。 は値を持ちません。言い換えれば、属性は タグの名前空間は、タグの名前空間を使用しないでください。 代わりに、未修飾タグの名前空間名としてnullを使用しなければなりません。 (接頭辞なし)属性."。