我想學習一些jQuery和我設置用下面的代碼測試頁:引用jQuery立即選擇器對象?
<a id='encode' href='javascript: void(0)'>encode</a> |
<a id='decode' href='javascript: void(0)'>decode</a> |
<br/>
<textarea id='randomString' cols='100' rows='5'></textarea>
<script type='text/javascript'>
$(document.ready(function() {
$('#encode').click(function() {
$('#randomString').val(escape($('#randomString').val()));
});
$('#decode').click(function() {
$('#randomString').val(unescape($('#randomString').val()));
});
});
</script>
的想法是,我可以把東西在文字區域,並單擊「編碼」或「解碼」,它可能會逃避或忽略我投入文字區的內容。
這段代碼工作得很好,但我的問題與我如何改變textarea的值有關。在我的代碼中,我選擇了textarea值兩次:一次到(un)轉義它,並再次改變值。 IMO看起來很笨重,也許沒有必要。我想也許我可以做這樣的事情,而不是:
$('#randomString').val(escape(this));
但this
似乎是指我點擊了鏈接,而不是#randomString
選擇的對象,所以有一些其他的魔法的話,我可以用它來引用$('#randomString')
?
好吧,這看起來像ShankarSangoli的答案一樣,但你只需創建一個對象(我同意這個對象更清潔)。正如我在他的回答中所提到的,似乎有必要以某種方式引用它......我的意思是JS需要一個參考,以使方法鏈可能在第一個地方是正確的? – slinkhi
jQuery方法鏈接是通過從'$()'方法(以及隨後調用的大多數其他jQuery方法)返回jQuery對象來實現的,所以這就是引用來自這種情況的地方。你問的是JavaScript中的一個特性來引用調用方法的對象。 – FishBasketGordo