我有這樣的代碼在這裏替換功能?我嘗試了很多東西,但它不起作用。使用jQuery
txtName = $('#emoteName');
txtURL = $('#emoteURL');
txtUsage = $('#emoteUsage');
我有這樣的代碼在這裏替換功能?我嘗試了很多東西,但它不起作用。使用jQuery
txtName = $('#emoteName');
txtURL = $('#emoteURL');
txtUsage = $('#emoteUsage');
var $txtName = $('#emoteName'),
$txtUrl = $('#emoteURL'),
$txtUsage = $('#emoteUsage');
$txtName.val($txtName.val().replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
$txtURL.val($txtURL.val().replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
$txtUsage.val($txtUsage.val().replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
心靈看看這個特殊的article關於jQuery的性能! :)
這應該工作得很好,而不是重複代碼,只需創建一個數組與您的jQuery對象,並應用相同的替換到他們每個人。
var $objs = [
$('#emoteName'),
$('#emoteUrl'),
$('#emoteUsage')
];
$.each($objs, function() {
var $this = $(this),
val = $this.val();
$this.val(val.replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
});
嘗試之一:
var val = txtName.val();
var new_val = val.replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, '');
txtName.val(new_val);
嘗試:
$txtName.val($txtName.val().replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
這也是常見的實踐與jQuery的對象$
開始的變量名。
使用.val()
爲jQuery對象來獲取值..因爲你的txtName的已經是一個jQuery對象
txtName = $('#emoteName');
你可以使用.val()
,而不是value
。 value
是DOM元素
txtName.val(txtName.val().replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, ''));
爲休息做同樣的..
如果你想要做的所有三個領域相同的替換,你可以這樣做:
$('#emoteName, #emoteURL, #emoteUsage').val(function(i, currentVal) {
return currentVal.replace(/(\r?\n){2,}/, '\n').replace(/^\r?\n|\r?\n$/, '');
});
jQuery's .val()
method讓您獲取或設置表單元素的值。如果pass it a callback function該函數將被調用jQuery對象中的每個元素,其中當前值傳遞給該函數,並且該函數返回的任何變爲新值。
告訴我們!!你是什麼txtName,txtURL ..是? – bipen
你去了先生。 – ECMAScript
相關:http://www.doxdesk.com/img/updates/20091116-so-large.gif – PeeHaa