【问题标题】:jQuery/Javascript can't access information about elementsjQuery/Javascript 无法访问有关元素的信息
【发布时间】:2012-01-17 23:07:10
【问题描述】:

我的 DOM 似乎有问题,元素的样式都显示为空白。

我的 jQuery 很简单

// JavaScript Document
$(document).ready(function(){
    $(#mainContent).css("min-height", function(){
        return $(window).height() + 'px';
    });
});

页面加载时没有任何反应。

我怀疑语法没有问题,或者如果有,这不是导致我的问题的原因。我曾尝试自己用 javascript 编写脚本,并产生了类似的结果,这就是我首先转向 jQuery 的原因。

如果我

alert("text") 

它工作正常,但如果我尝试

$(#mainContent).css("min-height")

然后什么都没有发生。

我在一个单独的 javascript 文件中创建了一个简单的变量

var mainCon = document.getElementById("mainContent");

并且使用firebug,在声明变量后放一个断点,然后在使用firebug检查变量时,样式中的所有内容都是空白的,例如

height ""
width ""
color ""

等等

我完全不知道是什么导致了这个问题,我为此失眠了,我已经从谷歌中搜刮了地狱,似乎找不到任何相关的东西。

您能找到的任何帮助将不胜感激, 提前致谢

【问题讨论】:

    标签: javascript jquery dom styles


    【解决方案1】:

    你需要quote your selectors(特别是#mainContent):

    $(document).ready(function(){
        $("#mainContent").css("min-height", function(){
            return $(window).height() + 'px';
        });
    });
    

    【讨论】:

    • 我不敢相信这有效,我不敢相信我没有注意到这一点。我猜这就是睡眠剥夺。非常感谢您注意到这一点。事实上,它似乎已经解决了我的问题。只是出于好奇,您知道为什么当我使用 firebug 进行检查时样式在 javascript 中显示为空白吗?
    • @RichieVikinglordTerry:没问题!有时候你需要的只是另一双眼睛:)
    • 你还需要把函数改为$(window).height() + 'px'
    • @mc10:这可行,但这不是他的问题——css 函数也接受一个函数作为它的第二个参数。
    • @AndrewWhitaker Gah 感谢您告诉我。那么我的编辑就没有意义了。
    【解决方案2】:

    您在选择器中缺少引号:

    $(document).ready(function(){
        $('#mainContent').css("min-height", function(){
            return $(window).height() + 'px';
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 2013-03-18
      • 2012-07-31
      • 1970-01-01
      • 2022-01-27
      • 2012-01-16
      • 1970-01-01
      • 2020-05-03
      相关资源
      最近更新 更多