HTML5動画を使用しているときに不思議な不一致が見つかりました。最初video
についてHTML5動画のミュートされた属性がプロパティを使用して適用されていませんが、setAttributeを使用して適用されました
Compare these two code snippets and take a look at the Elements tab in Chrome developer tools
<body>
<script>
const video1 = document.createElement('video');
video1.autoplay = true;
video1.muted = true;
document.body.appendChild(video1);
const video2 = document.createElement('video');
video2.setAttribute('autoplay', 'autoplay');
video2.setAttribute('muted', 'muted');
document.body.appendChild(video2);
</script>
</body>
、JSオブジェクトプロパティを使用してmuted
セットが設定されませんでした。 2番目の場合、setAttribute
を使用してDOM属性が設定されています。面白いことに、これは一貫して動作するautoplay
の場合ではありません。
なぜですか?このように振る舞う属性の別の例がありますか?これにルールがありますか?どの属性のプロパティがテスト以外のJSでどのように動作するかは、どのようにして伝えられますか?