2015-06-21 56 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