on onclick我得到了Uncaught ReferenceError: akkiTooltip is not defined
检查我正在使用的代码:
$(document).ready(function () {
function akkiTooltip() {
function applyTooltip(element, word) {
var tooltipText = $('' + element + ' label').data('tooltip');
var newContent = $('' + element + ' label').html().replace(word, '<span data-tooltip="' + tooltipText + '">' + word + '</span>');
$('' + element + ' label').removeAttr('data-tooltip');
return $('' + element + ' label').html(newContent);
}
applyTooltip('#question_307', 'Some text');
}
});
这是来自我申请onclick的另一个js文件:
$(button)
.text(this.answers[a].title)
.attr('type', 'button')
.attr('class', 'btn')
.attr('onclick', 'quiz._makeSelection(\'answer_' + this.answers[a].id + '\', ' + go + ', ' + this.answers[a].skipToSection + '); akkiTooltip();');
将akkiTooltip
函数移到$(document).ready
函数之后,我收到此错误
Uncaught TypeError: Cannot read property 'replace' of undefined
答案 0 :(得分:3)
将akkitooltip
函数的定义移到document.ready
函数之外。它无法从那里访问。
答案 1 :(得分:0)
Cannot read property 'replace' of undefined
查看您使用的位置.replace
$('' + element + ' label').html().replace(word, '...');
因此,$('' + element + ' label').html()
不是您所期望的,即$('' + element + ' label')
未找到任何元素,因此.html()
未返回字符串
检查选择器#question_307 label
描述的元素是否存在
当我尝试重现此错误时,我实际上获得了null
而不是undefined
,因此它可能是您代码的另一部分
答案 2 :(得分:0)
也许你应该检查一下你是否正确:
1.在html和jsp网页中:
<script src=""></script>
2.在xhtml网页中:
<script src="" />
3.如果你的js代码(功能代码)与html在同一个网页上,你可以使用:
<script> {your js code} </script>
默认脚本类型为“test / javascript”