为什么我的jQuery没有运行?

时间:2011-03-09 15:30:30

标签: jquery document-ready

我确定我只是一个大脑放屁,而且我错过了一些明显的东西,但请帮忙。

我无法弄清楚为什么以下代码(自定义幻灯片放映的早期编码)在文档加载时不会破坏。

$(document).ready(function() {

    var numSlides = $('#slides .slide').length();
    var wrapperWidth = $('#homeBanner').width();
    var totalWidth = numSlides * wrapperWidth;

    // set width of #slides to width of all .slide elements added together
    $('#slides').css('width', totalWidth+'px');

}); // end document.ready()

2 个答案:

答案 0 :(得分:8)

长度是属性,而不是方法。

var numSlides = $('#slides .slide').length; // note, no parens

答案 1 :(得分:1)

要获取网页上幻灯片的数量,您应该使用jQuery的.size()方法或.length属性。如果我没记错的话,你可能不会把长度称为方法。

var numSlides = $('#slides .slide').size();

顺便说一句,.width()如果您正在处理像素值,则会兼作制定者和吸气剂,因此您可以简化编辑CSS属性的最后一行。

$('#slides').width(totalWidth);

您可能不想使用美元符号($),除非您肯定jQuery是您项目的唯一JavaScript库。您可以用'jQuery'替换第一个美元符号,然后将美元符号添加到匿名函数参数中。这样,您仍然可以在document.ready()方法中安全地使用美元符号。例如:

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

希望能帮助您解决问题,祝您好运,如果您需要帮助,请告诉我。

干杯!