Javascript 变量前(';<;br>;';);“返回”;“未定义”不是一个函数;

Javascript 变量前(';<;br>;';);“返回”;“未定义”不是一个函数;,javascript,for-loop,Javascript,For Loop,我试图使用函数.before()来分离for循环生成的一些输入。为了使它工作,我必须使用一个变量作为引用,以知道在哪里插入。问题是它返回uncaughttypeerror:undefined不是一个函数,我找不到任何文档可以阻止我这样做 代码如下: <textarea id="textareaString">0|1|2|3</textarea> <br /> <button onClick="cut()">Cut!</button> &

我试图使用函数
.before()
来分离
for循环生成的一些输入。为了使它工作,我必须使用一个变量作为引用,以知道在哪里插入

。问题是它返回
uncaughttypeerror:undefined不是一个函数
,我找不到任何文档可以阻止我这样做

代码如下:

<textarea id="textareaString">0|1|2|3</textarea>
<br />
<button onClick="cut()">Cut!</button>
<div id="specials"></div>


function cut() {
    var str = document.getElementById('textareaString').value;
    var arrayOfStrings = str.split('|');
    for(var i = 0; i < arrayOfStrings.length; i++)  {
        var legend = document.getElementById('specials');
        var mo = document.createElement('input');
        mo.setAttribute('type', 'text');
        mo.setAttribute('size', '5');
        mo.setAttribute('id', 'special' + (i+1));
        mo.setAttribute('value', arrayOfStrings[i]);
        legend.appendChild(mo);
    }
    console.log(arrayOfStrings);
    arrayOfStrings.before('<br /><br />');
}
0 | 1 | 2 | 3

停! 函数割(){ var str=document.getElementById('textareaString')。值; var arrayOfStrings=str.split(“|”); 对于(变量i=0;i
”)之前的数组字符串; }
根据这个问题,最后一行是:
arrayOfStrings.before(“

”)

你可以玩。请考虑我在这里已经删掉了很多代码,我不能考虑使用“<代码> ID /代码>的输入作为引用,用于<代码>前())/代码>,它将在这里工作,但不与完整的代码一起使用。如果您想查看它,它是(在这个例子中,我需要在每次剪切后使用
|
添加一个


我到底错过了什么?那可能很愚蠢,但我就是找不到。提前谢谢

您可能正在尝试从JQuery使用

由于您没有使用jQuery对象,.before将不可访问

此外,您还可以使用
varlegend=document.getElementById('specials')退出循环


如果数组中的文本是
'

,则可以执行
arrayOfStrings.indexOf('

')
来定位字符串的位置,然后使用
.slice
来获取要搜索的部分。

legend.appendChild(document.createElement(“br”);哪个“函数
.before()
”?没有函数
.before()
!请给我看一下说明您可以使用它的文档。这实际上是一个jQuery函数:无论如何,@dandavis给了我一个完美的工作答案,谢谢!如果你想做一个真正的回复,我可以接受:)更新的JSFIDLE 1:,更新的JSFIDLE 2:好的,我明白了,谢谢你的解释!我已经把var从循环中去掉了。
不是数组的一部分,但是@dandavis实际上找到了一个很好的解决方法。