Javascript 如何用Jquery中的其他字符替换每个字符
我正在尝试创建一个textarea输入字段,自动将特定字符替换为不同的字符;示例:当用户键入“a”字符时,应自动将其替换为“o”字符。我是jquery新手,因此您能告诉我以下代码有什么问题吗:Javascript 如何用Jquery中的其他字符替换每个字符,javascript,jquery,string,replace,Javascript,Jquery,String,Replace,我正在尝试创建一个textarea输入字段,自动将特定字符替换为不同的字符;示例:当用户键入“a”字符时,应自动将其替换为“o”字符。我是jquery新手,因此您能告诉我以下代码有什么问题吗: $(function() { $('#myTextBox').keyup(function() { $("a").replaceWith( "o" ); $("z").replaceWith( "N" ); $("y").replaceWith( "
$(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" );
尝试:
要分解这一点:
var oldValue = $(this).val();
var newValue = oldValue.replace(/a/g, "o");
// Set to new value
$(this).val(newValue);
对于这样的事情:
<div class="normal">Lorem "ipsum "dolor"</div>
Lorem“ipsum”dolor”
结果:
<div class="normal">Lorem ipsum dolor</div>
Lorem ipsum dolor
jquery选择器用于选择dom元素。不是从文本框中选择值。您应该使用val()
函数获取值。请回答:“正确吗?”您在应用程序中尝试过吗?我将代码更改为使用过的val()函数,但不确定是否正确。对于给定的示例,这是可以的,但如果不仔细执行,它将不适用于具有可传递替换的解决方案(如果它最终是循环的,它将根本不起作用)。想象一下,如果您还对“o”进行了规则替换,会发生什么“但是你先做a->o
替换,你就会明白我的意思了。@Platinum,说得好。在这种情况下是有效的,但评论很棒。
<div class="normal">Lorem "ipsum "dolor"</div>
<div class="normal">Lorem ipsum dolor</div>