这条线有什么问题?

时间:2011-07-06 22:40:01

标签: javascript

我得到了

Breaking on JScript runtime error - Unknown runtime error 

在这一行:

c.innerHTML= '<a name="a1" class="b" href="' + d[2].value + '">' + 
              d[1].value + '</a>';

2 个答案:

答案 0 :(得分:1)

无需逃避。使用单引号和双引号的组合。

c.innerHTML= '<a name="a1" class="b" href="' + d[2].value + '">' + d[1].value + '</a>';

答案 1 :(得分:1)

我注意到c是一个锚元素,你试图设置它的innerHTML来创建一个子锚元素,它不是有效的HTML,尽管大多数浏览器都可以容忍无效的HTML。使事情更清晰并帮助您确定问题的方法是编写代码如下:

var b = document.getElementById('Bb1c');
var c = document.createElement('a');
var d = document.forms['f3'].elements;
c.name = 'a1';
c.className = 'b';
c.href = d[2].value;
var value = d[1].value;
// You should really HTML-escape value before assigning it.
c.innerHTML = value;
b.appendChild(c);

这可能仍然会有与以前相同的错误,但应该更容易弄清楚错误发生在哪一行。例如,问题可能是d[1]d[2]null