这是一个非常基本的问题。我有这段代码,我认为这样可以,但它会引发错误......
Uncaught TypeError: undefined is not a function
以下是有问题的代码
$('.colourbox').each(function(i){
// select visible children
var visibleDivs = $(this).children('div').length;
// use whatever width calculation you'd like...
var targetWidth = 300 / visibleDivs.length - 1;
// apply the width to the divs
visibleDivs.width(targetWidth);
});
由于
答案 0 :(得分:6)
visibleDivs
是一个数字:
var visibleDivs = $(this).children('div').length;
因此它没有width
函数使该行失败:
visibleDivs.width(targetWidth);
你可能想要
$('.colourbox').each(function(i){
// select visible children
var visibleDivs = $(this).children('div');
// use whatever width calculation you'd like...
var targetWidth = 300 / visibleDivs.length - 1;
// apply the width to the divs
visibleDivs.width(targetWidth);
});
但您应该自己使用the developer tools of your browser解决此问题:
答案 1 :(得分:0)
变量visibleDivs
具有多个子div的值。
var visibleDivs = $(this).children('div').length;
你可能不会有一个儿童div列表:
var visibleDivs = $(this).children('div');
完整示例:
$('.colourbox').each(function(i){
// select visible children
var visibleDivs = $(this).children('div');
// use whatever width calculation you'd like...
var targetWidth = 300 / visibleDivs.length - 1;
// apply the width to the divs
visibleDivs.width(targetWidth);
});