2011-05-07 40 views
2

我想使用jQuery每次點擊時動態改變HTML元素,來回(從A到B到A到B等)現在更改HTML內容來回jQuery的

我用一個空<div>一個充滿jQuery的:

$('#cf_onclick').append('<h2>A</h2>'); 

再變:

$(document).ready(function() { 
$("#cf_onclick").click(function() { 
$("#cf_onclick").html("<h2>B</h2>"); 
}); 
}); 

但我無法弄清楚如何將它搬回<h2>A</h2>。我猜.empty() jQuery功能可能會工作...

回答

4

一種方法是使用.toggle() method,並觸發它的第一次以及

$(document).ready(function(){ 
    $("#cf_onclick").toggle(
     function(){$(this).html("<h2>A</h2>");}, 
     function(){$(this).html("<h2>B</h2>");} 
    ).click(); 
}); 

演示http://jsfiddle.net/gaby/ufXxb/


或者,您可以創建兩個h2標籤並在它們之間交替。

$(document).ready(function(){ 
    $('#cf_onclick').append('<h2>A</h2><h2 style="display:none">B</h2>'); 
    $("#cf_onclick").click(function(){ 
     $('h2', this).toggle(); 
    }); 
}); 

演示http://jsfiddle.net/gaby/ufXxb/1/

1

嘗試使用toggle()函數:http://api.jquery.com/toggle/這是一種交替每次點擊操作的方式。

+0

您鏈接到了錯誤的切換.. – 2011-05-07 23:37:02

+0

有什麼不對的聯繫? – mc10 2011-05-07 23:45:23

+0

鏈接沒有問題 – 2011-05-09 11:35:53

0

你可以這樣做:

$(document).ready(function() { 
    $("#cf_onclick").click(function() { 
    var currentOpt = $("#cf_onclick h2").html(); 
    currentOpt = (currentOpt == 'B' ? 'A' : 'B'); 
    $("#cf_onclick").html("<h2>"+currentOpt+"</h2>"); 
    }); 
}); 

希望這有助於

+0

這也適用,但是我不知道的'toggle()'函數在這種情況下更合理。不管怎樣,謝謝你! – 2011-05-07 23:42:34