Bazı jQuery öğrenmeye çalışıyorum ve ben kurulum aşağıdaki kodla bir test sayfası:jQuery ile acil seçici nesnelere bakın.
<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>
fikri ben textarea şey koymak ve "kodlamak" veya "kod çözmeyi" ya tıklayabilirsiniz olduğunu ve textarea'ya ne koyduğum ya da kaçacağım.
Bu kod düzgün çalışıyor, ancak sorumun textarea değerini nasıl değiştirdiğim ile ilgili olması gerekiyor. Benim kodumda, textarea değerini iki kere seçiyorum: bir kere kaçış (un) ve bir kez daha değeri değiştirmek için. IMO bu tıknaz ve belki de gereksiz görünüyor. bu yüzden bunu başvurmak için kullanabileceğiniz diğer bazı sihirli kelime var,
$('#randomString').val(escape(this));
Ama this
ben tıkladığınız bağlantıdan değil #randomString
seçici bir nesneye başvurmak gibi görünüyor: Ben artık şöyle bir şey yapmak diye düşünmüştüm $('#randomString')
?
Tamam, bu ShankarSangoli'nin cevabıyla aynı prensibe benziyor, ama sadece bir kez nesneyi yaratıyorsunuz (ki buna katılıyorum). Cevabına yaptığım yorumda da belirtildiği gibi, bir şekilde referans göstermenin bir yolu olması gerekiyormuş gibi görünüyor… JS'nin, ilk etapta metot zincirlemesini mümkün kılmak için bir referansa ihtiyacı olduğu anlamına mı geliyor? – slinkhi
jQuery yöntem zincirleme, jQuery nesnesini '$()' yönteminden (ve sonradan adlandırılan diğer birçok jQuery yönteminden) döndürerek gerçekleştirilir, dolayısıyla bu durumda referansın geldiği yer budur. Sorduğunuz şey, bir yöntemin çağrıldığı nesneye başvurmak için JavaScript’te bir özellik olacaktır. – FishBasketGordo