'position()。top'是null还是不是对象?

时间:2012-02-07 15:46:04

标签: javascript jquery asp.net css visual-studio

我有代码应该突出显示选择并将弹出窗口对齐到选择的顶部。代码如下

$('#pnlAdd .modalDialog').css($("tr [style*=Blue]").position().top + "px" ,"top");

Firefox似乎对代码没问题,但我收到以下运行时错误

'position().top' is null or not an object. 

找到此link,但我的编辑失败了。还有另一种方法吗?

1 个答案:

答案 0 :(得分:4)

你的.css()参数是倒退的;它应该是.css(<name of property>, <value>)

$('#pnlAdd .modalDialog').css("top", $("tr [style*=Blue]").position().top + "px");

此外,如果.position()没有返回任何内容,$("tr [style*=Blue]")将返回null,从而导致错误。首先尝试检查它的长度。

var elements = $("tr [style*=Blue]");
if (elements.length) {
    $('#pnlAdd .modalDialog').css("top", elements.position().top + "px");
}

编辑注释 Firefox使用颜色的初始上限(蓝色),但IE使用全部小写(蓝色)。