<!DOCTYPE html>
<html>
<head>
<title>01</title>
</head>
<body>
<div id="hel">hello</div>
<script type="text/javascript">
function Elem(id){
this.elem = document.getElementById(id);
}
Elem.prototype.html = function(val){
var elem = this.elem;
if(val){
elem.innerHTML = val;
return this;
}else{
return elem.innerHTML;
}
};
Elem.prototype.on = function(type, fn){
var ele = this.elem;
ele.addEventListener(type, fn);
return this;
};
var div1 = new Elem('hel');
div1.html('click me').on('click', function(){
alert('u clicked me ');
}).html('<p>hi clicked</p>');
</script>
</body>
</html>老师,我想问一下,这个执行顺序应该是先修改div内的innerHTML,然后绑定事件,因为返回了this,所以继续执行,修改div的innerHTML,页面上会直接展示最后一次修改的内容hi clicked,然后点击元素执行事件,这样理解对吗?