2013-10-06 71 views
0
$("#content-container-2").css('min-height', '1000px'); 
$('#content-container-2').attr('style','min-height:1000px;'); 

都不起作用。但是,通過樣式表設置這個工作很好。當使用上面提到的命令使用jquery並使用螢火蟲檢查css屬性時,它們也不會顯示min-height被設置。最後但並非最不重要的是,打印輸出:jQuery css屬性不起作用

console.log($("#content-container-2").height()); 
console.log($("#content-container-2").outerHeight()); 
console.log($("#content-container-2").innerHeight()); 

在所有情況下均返回null。

有人知道這是爲什麼嗎?

+0

您可以添加的jsfiddle?謝謝 –

+0

確保你已經包含了Jquery腳本文件。 – Sachin

+3

你把腳本放在'$(function(){})'裏面嗎? –

回答

0

這可能意味着你的jQuery沒有找到該特定的ID。你確定你拼寫正確,你確定它不是一個類而不是id?

當沒有匹配時,jQuery返回null。

另一個考慮是你的jQuery在頁面準備好之前被調用。要在頁面加載後運行jQuery,請使用以下代碼:

$(function(){ 
    //Your code goes here. 
}); 

該代碼塊內的所有內容都將在頁面加載後執行。

+0

我確定。這就是爲什麼我這麼困惑。正如上面寫的,這個腳本被調用後包括jquery,它被包裹在$(function() {...}),當我去console.log($(「content-container-2」))控制檯打印出來的div與它的所有屬性但是,這種風格不適用。 –

+0

另外,即使jQuery與選擇器不匹配,它也只是返回一個空的包裝器,而不是'null'。 [jsBin](http://jsbin.com/aquYeBI/1/) – Kiruse

+0

@ Derija93執行select和調用函數後返回null。 –

0

要設置屬性:

$('#content-container-2').attr('style','min-height:1000px;'); 

中獲取價值:

$('#content-container-2').attr('style'); 

如果不工作檢查,如果你的jQuery是正確引用。

1

.height()返回null是如果元素沒有發現的唯一方式..

如果您#content-container-2元素在頁面通過Ajax調用添加,那麼你將不得不在成功回調運行代碼ajax呼叫。
如果你使用模板引擎和模板尚未在DOM注入情況也可能發生)

你將不得不確保$屬於 jQuery的,而不是另一個庫


爲了調試嘗試

var el = $('#content-container-2'); 
console.log($ === jQuery, $.fn.jquery, el, el.height()); 
+0

我正準備要求在腳本中記錄元素。手動記錄它會在不同情況下運行代碼,產生錯誤的正確印象... – Kiruse

+0

@ Derija93這也是我的想法,這就是爲什麼我建議一個調試練習,將照亮我們..或者,OP應該發佈一個活版本的頁面.. –

+0

不能相信我忘了我也想要一個現場演示。儘管OP有更好的經驗來調試他的代碼。 – Kiruse

-1

您需要一種方法來指定最小高度該JavaScript能夠理解:

$("#content-container-2").css({'minHeight': '1000px'});

+0

JavaScript理解''min-height''就好... –

+0

** JavaScript語法:** \t object.style.minHeight =「10px」 [http://www.w3schools.com/cssref/pr_dim_min-height .asp](W3cSchool) – araj

+0

只有通過'style'屬性訪問它時才需要。不通過jQuery方法.. –