一、jQuery 如何获取元素
jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。 将一个选择表达式,放进构造函数jQuery()(简写为$),返回一个可以操作这个元素的对象。
二、jQuery 创建元素
window.jQuery = function(selectorOrArrayOrTemplate){
let elements
if(typeof selectorOrArrayOrTemplate === 'string'){
if(selectorOrArrayOrTemplate[0] === '<'){
// 创建 div
elements=[createElement(selectorOrArrayOrTemplate)]
}else{
// 查找 div
elements = document.querySelectorAll(selectorOrArrayOrTemplate)
}
function createElement(string){
const container = document.createElement("template");
container.innerHTML = string.trim();
return container.content.firstChild;
}
return {
addClass(){},
find(){},
end(){},
};
三、jQuery的链式操作是怎样的
jQuery选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,
如$('div').find('h3').eq(2).html('Hello')。
它的原理在于每一步的jQuery操作,返回的都是一个jQuery对象,所以不同操作可以连在一起。
jQuery还提供了.end()方法,使得结果集可以后退一步:
end(){
return this.oldApi // this 就是新 api
}
四、jQuery用到了哪些设计模式
- 不用new的构造函数
- 重载
- 闭包
- getter/setter 取值和赋值合一
$.fn是$.prototype的别名- 适配器