为什么函数切换不能在这个jsfiddle中工作?

时间:2014-02-15 17:23:09

标签: jquery html

我不太了解jQuery,你可以看到。

$(function(){
$('#change').click(function() {   
   $('#html').html("changed");
},
function() {
    $('#html').html("No change");
});
});

出于测试目的,我尝试用它来制作它,但我无法让它工作

为什么改变一个简单的html在这个小提琴中不起作用?

这是小提琴 - http://jsfiddle.net/kk7LZ/

5 个答案:

答案 0 :(得分:2)

toggle事件方法已从jquery 1.9中删除

你可以做到

Fiddle Demo

var $html = $('#html');
$('#change').click(function () {
    $html.html(($html.html() == 'changed') ? 'no changed' : 'changed');
});

答案 1 :(得分:0)

这是你想要做的吗?

$('#change').click(function() {   
   $('#html').html("changed");
});

fiddle

答案 2 :(得分:0)

在jquery 1.9中删除了

toggle事件方法,它不再将多个点击处理程序绑定到一个元素,而是切换元素的可见性:http://api.jquery.com/toggle-event/

您可以使用jquery 1.8或自己实现toggle方法

答案 3 :(得分:0)

toggle()已从jquery版本1.9

中删除

一种解决方案是使用jQuery migrate插件来检测和恢复在jQuery中已弃用且从1.9版开始删除的API或功能。

您还需要将click更改为toggle

$(function(){
    $('#change').toggle(function() {   
        $('#html').html("changed");
    },
    function() {
        $('#html').html("No change");
    });
});

<强> Updated Fiddle

答案 4 :(得分:0)

你可以这样做:

DEMO

$(function () {
    $('#change').click(function () {
        this.toggle = !this.toggle;
        $('#html').html(this.toggle ? "changed" : "No change!");
    });
});