2012-10-07 48 views
0

基本上我要計算所有子DIV高度不包括一個 這裏是我的代碼迭代在DIV所有子格,並得到他們的名字

  var allChildDivHeight = 0; 
      this.children().each(function (e) { 
       //alert($(this).attr('id')); 
       if ($(this).attr('id') != 'BlindBox') { 
        allChildDivHeight = allChildDivHeight + $(this).outerHeight(); 
       } 
      }); 

我要計算所有子DIV高度不包括一個孩子div名稱「BlindBox」。我的代碼不起作用。什麼是概率

+1

而且你在處理什麼HTML?另外'this'是一個DOM節點,n一個jQuery對象(使用'$(this)')。 –

+3

您無法利用jQuery方法來處理非jQuery對象。 'this'需要是'$(this)'。 [這裏是工作小提琴只改變我說的。](http://jsfiddle.net/fqGYk/) – Ohgodwhy

+0

請撥弄一下... –

回答

0

根據不同的執行情況,如果這不是一個jQuery對象,你需要選擇它。也限制孩子只有div-s:

 var allChildDivHeight = 0; 
     $(this).children('div').each(function (e) { 
      //alert($(this).attr('id')); 
      if ($(this).attr('id') != 'BlindBox') { 
       allChildDivHeight = allChildDivHeight + $(this).outerHeight(); 
      } 
     }); 
+0

任何人都可以檢查這個問題。這裏是網址http://stackoverflow.com/questions/12763289/div-appear-with-blind-effect-issue-jquery我發佈它幾天後,但仍然沒有正文的答案爲這個問題。請閱讀我的問題,並告訴我代碼中有什麼問題。謝謝 – Thomas

0

除了在評論中提出的建議,代碼看起來很合理。你有沒有檢查過,以確保你是從文檔準備事件中調用它?如果您不是,那麼在您撥打電話時,這些元素將不會呈現。

下面是一個例子:

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

然而,這樣做的速記形式是這樣做的首選方式:

$(function() { 
    // Your code here 
}); 
+0

任何人都可以檢查這個問題。這裏是網址http://stackoverflow.com/questions/12763289/div-appear-with-blind-effect-issue-jquery我發佈它幾天後,但仍然沒有正文的答案爲這個問題。請閱讀我的問題,並告訴我代碼中有什麼問題。謝謝 – Thomas

0

嘗試以下,如果要計算所有div高度在除了「BlindBox」之外的頁面中「

var allChildDivHeight = 0; 
    $('div').each(function (e) { 
     if ($(this).attr('id') != 'BlindBox') { 
      allChildDivHeight = allChildDivHeight + $(this).outerHeight(); 
     } 
    }); 
+0

任何人都可以檢查這個問題。這裏是url stackoverflow.com/questions/12763289/...我發佈它的幾天後,但仍然沒有正文的答案這個問題。請閱讀我的問題,並告訴我代碼中有什麼問題。謝謝 – Thomas

相關問題