如何使用Jquery在2个替代字符串之间切换innerHTML

Pet*_*now 4 html jquery

我有一个span元素,我希望切换onclick另一个元素的'Price'和'Net'之间的内容.

基本上,它需要测试现有的单元格内容以查看当前存在的单元格内容,然后将其与另一个进行交换.

像这样的东西:

<input
    type    = "checkbox"
    name    = "element1"
    onclick = "$(#element2).toggleHTML('Price', 'Net')">

<span id="element2">Price</span>
Run Code Online (Sandbox Code Playgroud)

我编写了toggleHTML上面使用的方法来演示我期望它可能如何工作.

und*_*ned 8

您可以使用htmltext方法的回调函数.

$('input[name="element1"]').click(function() {
    $('#element2').text(function(_, text) {
        return text === 'Price' ? 'Net' : 'Price';
    });
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/BLPQJ/

您还可以定义一个简单的方法:

$.fn.toggleHTML = function(a, b) {
    return this.html(function(_, html) {
        return $.trim(html) === a ? b : a;
    });
}
Run Code Online (Sandbox Code Playgroud)

用法:

$('#element2').toggleHTML('Price', 'Net');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/AyFvm/

  • 谢谢.这是我使用的代码.虽然这里有几个相似的答案,但通过提供多种解决方案和jsfiddle,你可以比大多数人付出更多的努力.还要感谢并感谢其他所有人. (2认同)