jQuery没有按类</div>找到<div>

时间:2013-12-09 22:34:24

标签: jquery

我正在尝试相对于表单标题的位置显示我的动画控件。

<div class="page-header container">

在jQuery中,我试图用这个函数显示消息:

function showMessage(stype, title, message) {
  var position = $('.page-header container').offset.top;
  if (typeof position == 'undefined') {
    position = '50px';
    alert(position);
  } else {
    position = "'" + position + "px'";
  }
  $('.' + stype).animate({ top: position }, 500);
}

每次我警告('50px')

由于我使用CLASS而不是ID来识别,我想我会尝试阅读课程'.page-header container'中所有项目的集合:

function showMessage(stype, title, message) {
  var items = $('.page-header container');
  var position = items[0].offset.top;
  if (typeof position == 'undefined') {
    position = '50px';
    alert(position);
  } else {
    position = "'" + position + "px'";
  }
  $('.' + stype).animate({ top: position }, 500);
}

这一次,似乎items未定义。

我忽略了什么?

1 个答案:

答案 0 :(得分:7)

这一行有两个问题:

var position = $('.page-header container').offset.top;

首先,它正在中寻找带有container 标记的元素,该元素具有类page-header。空格表示descendant combinator。其次,offset是一个函数,而不是属性。

我认为你的意思是:

var position = $('.page-header.container').offset().top;

查找包含两个类page-header container的元素,并调用offset(因为它是一个函数),然后使用它返回的对象的top属性。