2013-07-03 108 views
3
$(".mydiv").css('width', $(".image").width()); 

此代码正在工作,但我想使此宽度变得重要,什么是正确的方式?JQuery设置宽度!变量后重要

我试过,但它并没有奏效

$(".mydiv").css('width', $(".image").width()+'!important'); 

(!重要)

+2

如果它的工作原理说明,为什么你想让它变成'!重要的'? – Blender

+0

设计师希望它:) –

回答

0

你必须改变 $( “图像”)。宽度()+ '!重要的' 与

$('.image').css('width'); 
4

该问题是由jQuery不理解!important属性引起的,因此无法应用规则。

你也许可以参照它来解决这个问题,并应用该规则,通过addClass():

.importantRule { width: 100px !important; } 
$('#mydiv').addClass('importantRule'); 

或使用ATTR():

$('#mydiv').attr('style', 'width: 100px !important'); 

对于参考请到通过下面的问题: - How to apply !important using .css()?

+0

问题是;我不使用100像素,它是一个变量 –

0

刚刚尝试这一点

 var previousStyle = $(".mydiv").attr('style') 
     $(".mydiv").attr('style', 'width:' + $(".image").width() + '!important; ' + previousStyle + ''); 

重要的属性 $(文件)。就绪(函数(){VAR = previousStyle $( “mydiv ”)。ATTR( '风格') $(“。mydiv”)。ATTR ('style','width:'+ $(“。image”)。width()+'!important; '+ previousStyle +''); }) 检查

<html> 
<head> 
    <title>Important Attribute</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      var previousStyle = $(".mydiv").attr('style') 
      $(".mydiv").attr('style', 'width:' + $(".image").width() + '!important; ' + previousStyle + ''); 
     }) 
    </script> 
</head> 
<body> 
    <div class="mydiv" style="border: 1px solid black; width: 200px">check</div> 
    <div class="image" style="width: 280px"></div> 
</body> 
</html> 

,如果你检查,看看mydiv属性,你可以看到宽度和重要的标记,如从jQuery声明

+0

这将工作在某种意义上,但如果元素包含其中的任何其他信息,它将被全部替换 –

+0

,这是行不通的:/ –

+0

,我刚刚测试哪个工作,现在也不会覆盖以前的风格。希望这可以帮助。 – Raghurocks