javascript - var.before ('<br>' );返回 "undefined is not a function"

标签 javascript for-loop

我正在尝试使用函数.before()为了分离 for-loop 生成的一些输入。为了使其工作,我必须使用变量作为引用来知道在哪里插入 <br> 。问题是它返回 Uncaught TypeError: undefined is not a function我找不到任何文档可以阻止我这样做。

代码如下:

<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 />');
}

根据有问题的行是最后一行:arrayOfStrings.before('<br /><br />');

可以玩on this JSFiddle 。请考虑到我在这里删减了很多代码,并且我不能考虑使用 id用作 .before() 引用的输入,它在这里可以工作,但不能使用完整的代码。如果你想查看的话,就是 in this JSFiddle (在这个中,我需要使用 | 在每次剪切后添加一个
)。

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

最佳答案

您可能正在尝试使用 .before()来自 JQuery

由于您没有使用 jQuery 对象,因此您将无法访问 .before。

此外,您还可以采取var legend = document.getElementById('specials');脱离你的循环。

如果'<br /><br />'是数组中的文本,您可以执行 arrayOfStrings.indexOf('<br /><br />')找到字符串的位置,然后使用 .slice以获得您正在搜索的部分。

关于javascript - var.before ('<br>' );返回 "undefined is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26170638/

相关文章:

javascript - 无法从另一个文件调用的 javascript 函数返回 Protractor 框架中的 promise

javascript - PDFView.page.getViewport() 未定义?

batch-file - GOTO :EOF return to? 在哪里

java - 在我的 for 循环中没有看到第二类的方法引用

javascript - 复选框输入保持选中状态?

javascript - 在按钮中获取未捕获的类型错误 : when i try to use my . tableExport

javascript - 寻找正确缩进代码的 JavaScript

java - 从 for 循环中取出可迭代变量

C程序在if语句中覆盖文件内容

angularjs - 在 AngularJS 中设置循环的起始索引