如何在Jquery中用其他字符替换每个字符

how to Replace each character with other character in Jquery

本文关键字:字符 替换 其他 Jquery      更新时间:2023-09-26

我正在尝试创建一个文本区域输入字段,它可以自动将特定字符替换为不同的字符;例如:当用户键入"a"字符时,它应该自动替换为"o"字符。我是jquery的新手,所以你能告诉我以下代码出了什么问题吗:

$(function() {
    $('#myTextBox').keyup(function() {
        $("a").replaceWith( "o" );
        $("z").replaceWith( "N" );
        $("y").replaceWith( "M" );
        $("p").replaceWith( "f" );
        $("v").replaceWith( "K" );
        $("b").replaceWith( "P" );
    });
});

我感谢你的帮助,谢谢

编辑:

谢谢大家,以下工作如预期:

$(function() {
    $('#myTextBox').keyup(function() {
        $(this).val($(this).val().replace(/a/g, "o"));
    });
});

首先,$("a")实际上针对页面上的所有锚元素,所以我猜这不是你想要的(除了p之外,其他元素甚至不存在,所以你的选择器不会返回任何内容)。其次,您可以使用正则表达式进行替换,而无需任何特殊的jQuery代码。

代替:

$("a").replaceWith( "o" );

尝试:

$(this).val($(this).val().replace(/a/g, "o"));

分解:

var oldValue = $(this).val();
var newValue = oldValue.replace(/a/g, "o");
// Set to new value
$(this).val(newValue);

http://jsfiddle.net/2fYdT/69/

$(document).ready(function() {
    $(".normal").each(function() {
        var text = $(this).html();
        text = text.replace(/"/g, '');
        $(this).html(text);
    });
});

像这样的东西:

<div class="normal">Lorem "ipsum "dolor"</div>

结果:

<div class="normal">Lorem ipsum dolor</div>