javascript - '未捕获类型错误 : undefined is not a function' keeps showing up for different lines of code

标签 javascript jquery

我正在尝试获取一组文本,当我点击按钮时,它会更改为另一组不同的文本。我尝试了很多不同的方法,但似乎无法使其发挥作用。这是一个工作Jsfiddle

我不断收到“未捕获类型错误:未定义不是函数”行

var $rep = $update.textContent.substring(1);

我已经更改了这行代码,但是在同一函数内的不同代码行上会出现相同的错误。

function createAnswers() {
    var i;
    for (i = 0; i < 4; i++) {
        var $update = $(".answers p")[i];
        var $rep = $update.textContent.substring(1);
        console.log($rep);
        var answerText = document.createTextNode(randomImage.randomAnswers[i]);
        if (usedImages.length >= 1) {
            $rep.replaceWith(answerText);
        }
            $update.appendChild(answerText);
    }
}

我对 Javascript 还很陌生,所以我可能会遗漏一些非常明显的东西。任何建设性的批评都会有所帮助。

最佳答案

你的函数应该是这样的:

function createAnswers() {
    var i,
        $answers = $(".answers p");

    for (i = 0; i < 4; i++) {
        var $update = $answers[i];
        var $rep = $update.textContent.substring(1);
        var answerText = document.createTextNode(randomImage.randomAnswers[i]);

        if (usedImages.length >= 1) {
            $update.textContent = $update.textContent.replace($rep, answerText.textContent);
        }

        $update.appendChild(answerText);
    }
}

var $update = $(".answers p")[i]; 之后不需要使用 jQuery 函数,因为 $update 变成了 DOM 节点。

关于javascript - '未捕获类型错误 : undefined is not a function' keeps showing up for different lines of code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951489/

相关文章:

javascript - jQuery droppable 不适用于绝对定位

javascript - JQueryUI Slider - 当前位置的工具提示

javascript - 在 Angular 转发器中对动态数组使用拼接

javascript - 如何从 PHP Exec 将参数传递给 Javascript 文件

javascript - 如何使用 jQuery 从元素的文本中删除特定字符串?

javascript - jQuery addClass 基于滚动距离

javascript - 检测jQuery中的输入变化?

javascript - 在主干中捕获超时事件

javascript - 如何设置顶部 svg 元素的位置?

javascript - 位置 div 取决于距离浏览器边缘(javascript)