2013-07-03 87 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