Jquery 检查选择器是否已定义

Jquery 检查选择器是否已定义,jquery,Jquery,我有以下绘图功能: function plot(selector, data) { var context = selector.get(0).getContext("2d"); var wrapper = $(selector).parent(); } 在我的javascript主文件中,我有以下内容: plot($('#pageviews'), data); 在某些页面中,我没有设置pageviews项,因此出现错误: TypeError:选择器.get(…)未定义 如果定义了选

我有以下绘图功能:

function plot(selector, data) {
  var context = selector.get(0).getContext("2d");
  var wrapper = $(selector).parent();
}
在我的javascript主文件中,我有以下内容:

plot($('#pageviews'), data);
在某些页面中,我没有设置pageviews项,因此出现错误: TypeError:选择器.get(…)未定义

如果定义了选择器,如何在plot函数中进行检查

如果未定义,则退出plot函数

谢谢,, 米格尔

使用长度属性:

if ( 0 < selector.length ) 
if(0
您可以使用检查选择器是否存在:

if (selector.length > 0){
  // do something here
}
使用以下命令:

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

  var context = selector.get(0).getContext("2d");
  var wrapper = $(selector).parent();
}
这将检查jQuery结果对象是否包含任何元素。

它是一个数组。 由于选择器重新读取所选元素的数组,请检查
长度
。您可以使用此选项

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

if( $('#pageviews').get(0) ) {    
//call plot
}
你可以检查长度

if (selector.length > 0){

}
使用


这个问题在几秒钟内得到很多相同的答案。不,它不是数组!jQuery对象类似于数组,但它们不是真正的数组,例如,
[]
就是其中之一。
if(selector.length > 0) {}