2015-06-21 67 views
-1

我想將不同的寬度應用於我的CSS樣式。當我在CSS文件width: 100px;width,它吸引着div的正確,但是,這並不正確設置width當我使用jQuery或更改HTML width無法將屬性應用於CSS樣式JQuery

HTML:

<div id="details" class="hideClass transbox" style="overflow:auto;"></div> 
<div id="details2" class="hideClass transbox" style="overflow:auto;"></div> 
<div id="dDur" class="dDur"></div> 
<div id="dDur2" class="dDur2"></div> 

的JavaScript:

if(dur > 0 && maxDur > 0) { 
    var newDur = ((1-(dur/maxDur)) * 60)+"px"; 
    var newDur2 = ((dur/maxDur) * 60)+"px"; 
    console.log(newDur + " dur " + newDur2) --> returns "58.5px dur 1.5px" 

    $("#dDur").css({ width: newDur }); 
    $("#dDur2").css({ width: newDur2 }); 
    $("#").css({ border: '2px solid '+bonusColor }); 
    detailString += "<div class='dDur' width='"+newDur+"'></div> 
    <div class='dDur2' width='"+newDur2+"'> </div>"; 
} 

底部的線之前使用沒有工作,他們的目的不是要在代碼中。

+0

什麼是「dur」和「maxDur」? – Yehia

+0

杜爾是「58.5px」maxDur是「1.5px」 – ThatWeirdDude

+0

我問你從哪裏得到這個價值請發佈完整的代碼! – Yehia

回答

1

相反的"<div class='dDur' width='"+newDur+"'></div>"你應該使用"<div class='dDur' style='width:"+newDur+";'></div>"。此外,JS不會多行字符串做好,您應該逃避或刪除斷行,或將其分解成兩個字符串:

detailString += "<div class='dDur' style='width:"+newDur+";'></div>" + 
    "<div class='dDur2' style='width:"+newDur2+";'></div>"; 

而且,這是什麼$("#")應該選擇?

需要注意的是這樣的:

$("#dDur").css({ width: newDur }); 
$("#dDur2").css({ width: newDur2 }); 

將只能編輯當前元素的風格,而不是那些你以後可能會用JS加。如果您將detailString附加到您的html中,那麼您應該在執行此操作後運行$().css()函數。

+0

非常感謝你! – ThatWeirdDude