我不习惯使用jquery,所以任何帮助都会受到赞赏。 我写过这个函数但是无法让它工作,任何人都可以告诉我出了什么问题。
$(function() {
$('#replace_button').onclick(function() {
$('#box_txt').val().replace(/\t/g, '[TAB]');
$('#box_txt').val().replace(/\n/g, '[BREAK]');
});
});
随附的HTML是
<textarea name='box_txt' id='box_txt' rows='6' cols='50'></textarea>
<br>
<input type='button' id='replace_button' value='Replace'>
当我按下按钮时,我只想用[TAB]替换所有标签,用[BREAK]替换所有换行符。
非常感谢。
答案 0 :(得分:4)
val
返回一个字符串,而不是一种指向该值的指针。并且replace
不会更改您传递的字符串(字符串在JavaScript中是不可变的)但返回一个新字符串。
您可以使用
var field = $('#box_txt'), s = field.val();
s = s.replace(/\t/g, '[TAB]').replace(/\n/g, '[BREAK]');
field.val(s);
答案 1 :(得分:0)
是这样的:
$(function() {
$('#replace_button').onclick(function() {
$('#box_txt').val($('#box_txt').val().replace(/\t/g, '[TAB]'));
$('#box_txt').val($('#box_txt').val().replace(/\n/g, '[BREAK]'));
});
});
你得到的值操纵它但从未在textarea中设置它: - )