web-dev-qa-db-ja.com

javascriptsetAttributeスタイル

次の2つのjavascript/cssコードがどのように異なる結果を生成するのかわかりません。

1位:

prev.setAttribute('style', 'position:absolute;left:-70px;opacity:0.4;border-radius: 150px;-webkit-border-radius: 150px;-moz-border-radius: 150px;');

2位:

            prev.setAttribute('style', 'opacity:0.4;border-radius: 150px;-webkit-border-radius: 150px;-moz-border-radius: 150px;');
            prev.setAttribute('height', size);
            prev.setAttribute('width', size);
            prev.setAttribute('id', 'thumb'+i);
            prev.setAttribute('position', 'absolute');
            prev.setAttribute('left', '-70px');

2つ目では、位置と左は完全に無視されます。結果は、2行のコードがある場合とない場合で同じです。

prev.style.leftを配置した場合にのみ機能します。これは、位置と同じです。ただし、setAttributeは高さと幅に対して機能します。私は本当に理由を知る必要があります

9
user308553

positionleftは属性ではなく、スタイルです。

widthheight、およびidは属性またはスタイルとして使用できるため、2番目の例で機能します。

12
Timm