Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 函数未初始化_Jquery - Fatal编程技术网

Jquery 函数未初始化

Jquery 函数未初始化,jquery,Jquery,我面临一个非常奇怪的问题。一切都应该正常工作,但是函数拒绝运行 我有类似的函数,运行得很好,但除非通过控制台运行,否则不会初始化 代码如下: $(".like").click(function() { number = parseInt($(this).text()); $(this).text(number+1).addClass("iLike").removeClass("like"); delete number; }); $(".iLike").click(fu

我面临一个非常奇怪的问题。一切都应该正常工作,但是函数拒绝运行

我有类似的函数,运行得很好,但除非通过控制台运行,否则不会初始化

代码如下:

$(".like").click(function() {
    number = parseInt($(this).text());
    $(this).text(number+1).addClass("iLike").removeClass("like");
    delete number;
});

$(".iLike").click(function() {
    number = parseInt($(this).text());
    $(this).text(number-1).addClass("like").removeClass("iLike");
    delete number;
});
我试图运行它的网站是:~~~~

它在脚本中,但没有运行。我不知道为什么

HTML:

3
问题:将HTML注入DOM不会改变源代码,也不会将某些函数附加到注入


解决方案:在标记中插入事件,例如onclick:

它必须位于
$(document.ready()
中。我检查了源代码。该页面上没有任何类为
的元素,例如
的元素。因此,基本上,您将
click()
绑定为nothing

更新:您似乎正在通过js向apge添加按钮元素?如果是,请将
单击(函数()…
更改为
。在('click',function()…

i、 e

文件:

它可能不在你的$(文档).ready()中。你能发布你的HTML吗?可能是你的选择器有问题。你在chrome的控制台中检查过它吗?你得到了什么>我在$(文档).ready()中添加了代码。那是不可能的。我正在使用Chrome控制台检查错误。除非我从控制台初始化它,否则函数不会运行。@Anraiki-检查我的答案。我在您提供的链接页面上查看了源代码。我没有找到任何类似于
类的元素。哇!当我将其与开发人员的工具Div框进行比较时不是空的,但在源代码中是空的!是否通过javascript以编程方式添加该类?然后可能需要将
click()
更改为
.on('click',function()…
})`是的。我是。如果我使用这样的解决方案,我必须做些什么才能让我的函数工作吗?尝试了新的代码函数,我也将其应用于$(document).ready()。仍然不工作。找到了另一个路由和解决方案。我在标记上附加了onclick=“someFunction();”。
<button id="like-85" class="like " type="button">3</button>
$(".like").on('click', function() {
    number = parseInt($(this).text());
    $(this).text(number+1).addClass("iLike").removeClass("like");
    delete number;
});

$(".iLike").on('click', function() {
    number = parseInt($(this).text());
    $(this).text(number-1).addClass("like").removeClass("iLike");
    delete number;
});