假设我想要定位文本框区域中的特定字母,并使用jquery或javascript将其替换为另一个字母,我将如何做到这一点并且仍然可以在之后,再次,再次等目标中定位另一个字母?要改变的字母和将要更改的内容将从文本框或下拉列表中输入(以较容易的方式)
P.S我尝试了jQuery的替换功能而且它没有用(虽然我可能没有正确使用它)。
$( "button" ).click( function() {
$( "Changed" ).replaceWith( $( "New" ) );
});
答案 0 :(得分:2)
$("button").click(function() {
var old = $("#Changed").val();
var replacement = $("#New").val();
var regexp = new RegExp(old, 'g');
$("#Input").val(function(i, current) {
return current.replace(regexp, replacement);
});
});
#
来选择它们。.val()
获取输入值。.replaceWith
用于替换整个DOM元素,而不是更改输入的值。.val()
更改输入的值。当参数是一个函数时,函数将以当前值作为参数进行调用,并将返回值放在其位置。.replace()
用于执行字符串替换。要进行多次替换,您需要使用带有RegExp
标记的g
。答案 1 :(得分:1)
请检查以下代码是否有帮助:http://jsfiddle.net/La2y734g/2/
HTML如下
<textarea id="Input" cols="50" rows="5">This textbox has been given a name of "myTextBox". This can be used by any script that process the contents of this textbox (once it's been submitted to the server).</textarea>
<br>Replace
<input type="text" id="replace">with
<input type="text" id="with">
<button>Detect Single Letters And Replace</button>
Javascript如下
$("button").on("click", function () {
//$( "#Input" ).replaceWith( $( "Change" ) );
var toReplace = $('#replace').val();
var withText = $('#with').val();
var newText = $("#Input").val().replace(toReplace, withText );
$("#Input").val(newText);
});