java sycho_sycho

sycho 关注了问题 · 2016-11-30

我先获取到li标签,增加点击事件,但是不能工作;

li.onclick = function() {

alert(1);

};

sycho

关注 7回答 7

sycho 回答了问题 · 2016-11-30

//获取li的数组,因为匹配的tag有很多

lis=document.getElementsByTagName("li");

//然后写个for循环或者对单个的li写onclick

//代码如下:

for(var i=0,len;lis.length;i

lis[i].οnclick=function(){

alert(this);

}

};

//或者:

lis[0].οnclick=function(){

alert(this);

};

{代码...}

关注 7回答 7

sycho 关注了问题 · 2016-03-31

(function() {

//use a private class

function _$(els) {

this.elements=[];

//why '++i' ?

for (var i=0,len=els.length;i

var element=els[i];

if (typeof element ==='string') {

element=document.getElementById(element);

}

this.elements.push(element);

}

return this.elements;

}

//add method to prototype and return this.

_$.prototype={

each:function(fn) {

for (var i=0,len=this.elements.length;i

fn.call(this,this.elements[i]);

}

return this;

},

setStyle:function(prop,value) {

this.each(function(el) {

el.style[prop]=value;

});

return this;

},

show:function(){

var that = this;

this.each(function(el) {

that.setStyle("display","block");

});

return this;

},

addEvent:function(type,fn) {

var add=function(el) {

if (window.addEventListener) {

el.addEventListener(type,fn,false);

}else if (window.attachEvent) {

el.attachEvent('on'+type,fn);

}

};

this.each(function(el) {

add(el);

});

return this;

}

};

//return window._$

window.$=function() {

return new _$(arguments);

};

})();

//TODO

$("test").addEvent();

关注 2回答 1

sycho 提出了问题 · 2016-03-31

(function() {

//use a private class

function _$(els) {

this.elements=[];

//why '++i' ?

for (var i=0,len=els.length;i

var element=els[i];

if (typeof element ==='string') {

element=document.getElementById(element);

}

this.elements.push(element);

}

return this.elements;

}

//add method to prototype and return this.

_$.prototype={

each:function(fn) {

for (var i=0,len=this.elements.length;i

fn.call(this,this.elements[i]);

}

return this;

},

setStyle:function(prop,value) {

this.each(function(el) {

el.style[prop]=value;

});

return this;

},

show:function(){

var that = this;

this.each(function(el) {

that.setStyle("display","block");

});

return this;

},

addEvent:function(type,fn) {

var add=function(el) {

if (window.addEventListener) {

el.addEventListener(type,fn,false);

}else if (window.attachEvent) {

el.attachEvent('on'+type,fn);

}

};

this.each(function(el) {

add(el);

});

return this;

}

};

//return window._$

window.$=function() {

return new _$(arguments);

};

})();

//TODO

$("test").addEvent();

{代码...}

关注 2回答 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值