2017-01-19 11 views
-1

私は事業部bodyDivが空でないループCSSを適用するjavascriptループを使用しますか?

this.addcss = function(ele , css){ 
    for(var k in css) 
     ele.style[k] = css[k]; 
    return true; 
} 

this.addcss(bodyDiv,{"height":"auto" , "width":"400px auto" , "border":"solid 2px black"}); 

を持っている機能を使用してJavaScriptにCSSを適用しようとしています。

このコードは機能しません。 私も私のコンソール内の任意のエラーを取得していない午前

私もこれを行うと試みたが、働いていませんでした:

以前:

this.addcss = function(ele , css){ 
    for(var k in css) 
     ele.style.k = css.k; 
    return true; 
} 

問題はエレメント交換していましたが判明私は他に要素を置き換えるために、このコードを使用していた:

var Obj = element; 
    if(Obj.outerHTML) { //if outerHTML is supported 
     Obj.outerHTML=replacementHtml; ///it's 
    } 
    else { //if outerHTML is not supported, there is a weird but crossbrowsered trick 
     var tmpObj=document.createElement("div"); 
     tmpObj.innerHTML = element.innerHTML; 
     ObjParent=Obj.parentNode; //Okey, element should be parented 
     ObjParent.replaceChild(tmpObj,Obj); // here we placing our temporary data instead of our target, so we can find it then and replace it into whatever we want to replace to 
     ObjParent.innerHTML = ObjParent.innerHTML.replace(ObjParent.innerHTML, replacementHtml); 
    } 

んが、私はこれを試していません10

それは働いた。

すべての回答ありがとうございます。

+0

DevToolsで要素を調べましたか? –

+0

bodyDivとはあなたはどうやってその要素を手に入れましたか? –

+0

bodyDiv = document.createElement(); –

答えて

2

コードは正常に機能していますが、width属性を変更しました.2つの値を持つことはできません。

var bodyDiv = document.createElement("DIV"); 
 

 
this.addcss = function(ele , css) 
 
{ 
 
    for(var k in css) 
 
     ele.style[k] = css[k]; 
 
} 
 

 
this.addcss(bodyDiv,{"height": "auto", "width":"400px", "border": "solid 2px black"}); 
 

 
document.getElementById("placeholder").appendChild(bodyDiv);
<div id="placeholder"></div>

+0

その場合、widthはおそらくautoで、max/min-widthは400pxに設定できますか?柔軟性を追加する。おそらく、それが彼が意味するアプローチだったでしょう。 –

0

あなたは、例えば、正しくbodyDivの内容を設定しています

var bodyDiv = document.getElementById("myBodyDiv");  

私は、これは速いjsFiddleで動作することが証明されている:https://jsfiddle.net/kitkit/gh7yxLey/

-1

これをやってみてください。

ele.style=k; 
this.addcss = function(ele , css){ 
    for(var k in css) 
     ele.style = k; 
    return true; 
} 

this.addcss(bodyDiv,{"height:auto" , "width:400px auto" , "border:solid 2px black"}); 

はそれがお役に立てば幸いです。

-1

私のために働いているようです。ここで働いてフィドル

bodyDiv = document.createElement('div'); 
 

 
this.addcss = function(ele , css){ 
 
    for(var k in css) 
 
     ele.style[k] = css[k]; 
 
    return true; 
 
} 
 

 
this.addcss(bodyDiv,{"height":"auto" , "width":"400px" , "border":"solid 2px black"}); 
 

 
document.getElementsByTagName("body")[0].appendChild(bodyDiv);
<body> 
 
    
 
</body>

は、私はあなたの要素が作成される方法と、それが体に追加されている方法を確認するダブルお勧めします。

関連する問題