0

我有以下绘图功能:

function plot(selector, data) {
  var context = selector.get(0).getContext("2d");
  var wrapper = $(selector).parent();
}

在我的 javascript 主文件中,我有以下内容:

plot($('#pageviews'), data);

在某些页面中,我没有 pageviews 项,因此出现错误:TypeError: selector.get(...) is undefined

如何在绘图函数中检查选择器是否已定义?

如果它未定义,则退出绘图功能。

谢谢你,米格尔

4

6 回答 6

3

使用长度属性:

if ( 0 < selector.length ) 
于 2013-10-06T15:27:57.213 回答
3

您可以使用.length检查选择器是否存在:

if (selector.length > 0){
  // do something here
}
于 2013-10-06T15:28:00.530 回答
3

利用

if(selector.length > 0) {}
于 2013-10-06T15:29:26.593 回答
2

这是一个数组。

由于选择器 retrns 选择元素的数组,检查length。你可以使用这个

if ($('#pageviews').length >0 ) {
    //call plot
}

甚至

if( $('#pageviews').get(0) ) {    
//call plot
}
于 2013-10-06T15:28:09.283 回答
2

你可以检查长度

if (selector.length > 0){

}
于 2013-10-06T15:28:56.937 回答
1

用这个:

function plot(selector, data) {
  if (!!selector.length) {
    // no element was found
  }

  var context = selector.get(0).getContext("2d");
  var wrapper = $(selector).parent();
}

这将检查 jQuery 结果对象是否包含任何元素。

于 2013-10-06T15:28:01.477 回答