1) Javascript'te jQuery'yi uygulamak için bir görevim var. Ama bir nedenden dolayı, yöntemimin her biri çalışmıyor. Örneğin ijquery'nin küçük uygulaması
$('.a').each(function (index) {$(this).append('<b>' + index + '</b>')})
yazarken o
DOMException döndürür: yürütülemedi 'querySelectorAll' 'Belge' üzerine: '[object Object]' geçerli seçici değildir.
Ayrıca, diğer işlevlerin içinde this.each
kullanamıyorum. Örneğin, forEach
yerine her birini kullanmış olsaydım, işe yaramazdı.
<script type="text/javascript">
(function() {
function $(selector) {
if (this instanceof $) return this.search(selector)
return new $(selector);
}
$.prototype = {
constructor: $,
length: 0,
search: function(selector) {
var that=this;
var elems=Array.prototype.slice
.call(document.querySelectorAll(selector));
elems.forEach(function(x,i){that[i]=x;});
this.length = elems.length;
return this;
},
append: function(text) {
if (text instanceof $) {
this[0].appendChild(text[0]);
for(var i = 1; i < this.length-1; i++) {
var p = text[0].cloneNode(true);
this[i].appendChild(p);
}
} else Array.prototype.slice
.call(this).forEach(function(x){
x.innerHTML = x.innerHTML + text;
});
return this;
},
each: function(callback){
for (var i=0;i<this.length;i++){
this[i]=callback.call(this,this[i])
};
return this;
},
}
window.$ = $;
}());
* "Ben Javascript'i jQuery uygulamak için bir görev var" * Er .... jQuery * ** *** "on" (in) JavaScript uygulanmaktadır. –
bu fiddle üzerinde çalışıyor burada [demo] (http://jsfiddle.net/n4aspu8p/) – ozil
FYI bir '# id' seçen bir seçici üzerinde' .each() 'yöntemini kullanarak tek bir unsur olan) hiç mantıklı değil. –