检查是否定义了选择器

时间:2013-10-06 15:25:33

标签: jquery

我有以下剧情功能:

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

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

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

在某些页面中,我没有浏览量项目,因此我收到错误消息: TypeError:selector.get(...)未定义

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

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

谢谢你, 米格尔

6 个答案:

答案 0 :(得分:3)

使用长度属性:

if ( 0 < selector.length ) 

答案 1 :(得分:3)

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

if (selector.length > 0){
  // do something here
}

答案 2 :(得分:3)

使用

if(selector.length > 0) {}

答案 3 :(得分:2)

这是一个数组。

由于选择器会更新所选元素的数组,请检查length。您可以使用此

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

甚至

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

答案 4 :(得分:2)

您可以查看长度

if (selector.length > 0){

}

答案 5 :(得分:1)

使用此:

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

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

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