Javascript返回类型错误"无法获取属性'1'未定义或空引用的

Javascript Returning a Type Error "Unable to get property '1' of undefined or null reference"

本文关键字:未定义 引用 获取 错误 返回类型 quot Javascript 属性      更新时间:2023-09-26

我无论如何也弄不清楚这个错误对我的代码到底意味着什么。

HTML

<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../styles.css" type="text/css">
<body bgcolor="#FFFFFF" text="#000000" link="#0033CC" vlink="#0033CC" alink="#0033CC">
<p><font face="Arial, Helvetica, sans-serif"><b><font color="#000000">Job ref:</font></b><font color="#000000">12345 <br>
<b>Position:</b> Position Title <br>
<b>Organisation:</b> Organisation Name <br>
<b>Location: </b> UK, England, London <br>
<b>Closing date:</b> 24/09/2015<br>
<b>Job Type:</b> Permanent <br>
<b>Salary:</b> £100,000 per annum </font></font></p>
<p>&nbsp;</p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif"><b>Details:</b></font></p>
<p><font color="#000000" face="Arial, Helvetica, sans-serif">This is a description</font></p>
</body>
</html>
JAVASCRIPT

  DataExtractor.AddHeader(1, 'Country');
  var tmp = document.body.outerHTML.match(/Location: <'/b> ([^,]+), ([^,]+), ([^,]+)/i);
  var country = tmp[1] 
  if (country) {
  for (var i = 0; i < country.length; i++) {
  DataExtractor.StartNewResult();
  DataExtractor.AddResult(1, country[i]);
   }
   }

当运行时,它给出了标题中的错误。有人能告诉我我错过了什么吗?

谢谢

是否检查了tmp是否为数组?试试下面这段:

var country
if( tmp ){
country = tmp[1]
}else{
alert('tmp is not set')
}

我认为你的tmp变量是空的,因为你的正则表达式无法匹配任何。

你还应该在你的正则表达式参数中包含'g',意思是//ig。因为你期待不止一场比赛。也可以使用防御性程序,检查长度是否等于或大于2等。