Tôi đang cố gắng để tìm hiểu một số jQuery, và tôi thiết lập một trang thử nghiệm với đoạn mã sau:Tham khảo đối tượng bộ chọn ngay lập tức với 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>
Ý tưởng là tôi có thể đặt một cái gì đó trong textarea và nhấp vào một trong hai "mã hóa" hay "giải mã", và nó sẽ thoát hoặc không nhìn thấy những gì tôi đưa vào vùng văn bản.
Mã này hoạt động tốt, nhưng câu hỏi của tôi phải làm với cách tôi thay đổi giá trị của vùng văn bản. Trong mã của tôi, tôi đang chọn giá trị textarea hai lần: một lần để (un) thoát nó, và một lần nữa để thay đổi giá trị. IMO điều này có vẻ khó khăn và có thể không cần thiết. Tôi nghĩ có lẽ tôi có thể làm một cái gì đó giống như thay vì điều này:
$('#randomString').val(escape(this));
Nhưng this
dường như đề cập đến đối tượng của liên kết tôi nhấp, không phải là chọn #randomString
, như vậy là có một số câu thần chú khác tôi có thể sử dụng để tham khảo mà $('#randomString')
?
Được rồi, điều này có vẻ giống như nguyên tắc như câu trả lời của ShankarSangoli nhưng bạn chỉ cần tạo đối tượng một lần (mà tôi đồng ý là sạch hơn). Như đã đề cập trong bình luận của tôi với câu trả lời của anh ta, có vẻ như phải có cách để ám chỉ nó bằng cách nào đó ... Ý tôi là JS cần một tham chiếu để làm cho phương pháp xích có thể ở vị trí đầu tiên đúng không? – slinkhi
Chuỗi phương thức jQuery được thực hiện bằng cách trả về đối tượng jQuery từ phương thức '$()' (và hầu hết các phương thức jQuery khác được gọi sau đó), vì vậy đó là nơi tham chiếu đến từ trong trường hợp đó. Những gì bạn đang hỏi về sẽ là một tính năng trong JavaScript để tham chiếu đến đối tượng mà trên đó một phương thức được gọi. – FishBasketGordo