Javascript 给出错误结果的If语句。

Javascript 给出错误结果的If语句。,javascript,jquery,xml,if-statement,Javascript,Jquery,Xml,If Statement,我使用此代码将列表添加到网站(SharePoint)。我添加了一个条件,如果用户填写表单时出错,我会提醒用户。当XML中出现错误时,我通常使用.find(“errorstring”)。现在,我的代码不断提醒我有错误,即使当我查看XML错误字符串时,它并不存在。代码如下: function createList(){ if(!siteUrl){ alert("You must first select a site"); return; } var listName =

我使用此代码将列表添加到网站(SharePoint)。我添加了一个条件,如果用户填写表单时出错,我会提醒用户。当XML中出现错误时,我通常使用.find(“errorstring”)。现在,我的代码不断提醒我有错误,即使当我查看XML错误字符串时,它并不存在。代码如下:

function createList(){
  if(!siteUrl){
    alert("You must first select a site");
    return;
  }
  var listName = $('#listName');
  var listDesc = $('#listDesc');
  var listTemp = $('#listTemplate');
  var siteLists = $('#web_siteLists');
  console.log(siteUrl+" - "+listName+" - "+listDesc+" - "+listTemp);
  $().SPServices({
    operation:"AddList",
    webURL: siteUrl,
    listName: listName.val(),
    description: listDesc.val(),
    templateID: listTemp.find(':selected').val(),
    completefunc: function(xData, Status){
      if($(xData.responseXML).find('errorstring')){
        alert('Please fill form correctly');
        return;
      }else{
        alert(listName+" created.");
        siteLists.empty();
        RefreshSiteList(siteUrl);
        listName.val('');
        listDesc.val('');
        listTemp.val('default');        
      }
    }
  });
}
XML响应:

我认为我的if条件可能没有正确说明:

if($(扩展数据.responseXML).find('errorstring')){ 警告(“请正确填写表格”); 返回; }

使用以下方法:

if($(xData.responseXML).find('errorstring').length > 0){

当没有匹配项时,
.find()
返回的空集合是真实的。

尝试不使用$<代码>如果((xData.responseXML.find('errorstring')){…那么如果长度为0,是否返回false?我已将答案更改为使用比较,因为这样可以更清楚地说明目的。