无法在 javascript for 循环中读取 null 的属性“length”
2012-04-17
33376
我正在尝试制作像堆栈溢出一样的降价编辑器。
如果我实际上没有键入星号和http://将短语包含在文本。如果我仅键入包含短语的星号,则该错误是指以下行:
if(linkify.length!== 0)
这是a jsfiddle 向您展示我的意思。
这是我的html:
191381634 < /code>
这是我的JS:
874864442
任何帮助都将不胜感激。
2个回答
不要使用
match
函数(如果字符串与提供的正则表达式不匹配则返回 null),而是使用
test
函数(返回 true/false),然后如果需要,可以使用
match
函数。
基本上,您正在执行
null.length
,这显然是无效的,因为
match
返回了 null
或者您可以在检查长度之前执行
null
检查,然后只执行一次正则表达式匹配。
if(linkify!==null && linkify.length!== 0)
{
//do smthing
}
Baz1nga
2012-04-17
当文本中没有“http://”匹配时,“linkify”为空,因此您需要测试该条件:
if(linkify && linkify.length)
jimw
2012-04-17