我正在尝试创建一个textarea输入字段,该字段会自动将特定字符替换为不同的字符;例如:当用户键入“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"));
});
});
答案 0 :(得分:4)
首先$("a")
实际上是针对页面上的所有锚元素,所以我猜这不是你想要的(其他人甚至不存在,除了p,所以你的选择器什么都不返回)。其次,您可以使用regular expressions to do your replace而无需任何特殊的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);
答案 1 :(得分:3)
$(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>