手写jQuery核心代码Day1,CSS定位
// 定义一个简单的jQuery构造器
var jQuery = function(selector) {
var elements = document.querySelectorAll(selector);
this.length = elements.length;
for (var i = 0; i < elements.length; i++) {
this[i] = elements[i];
}
// 这里可以添加更多的jQuery方法
};
// jQuery原型上的css方法,用于设置或获取元素的样式
jQuery.prototype.css = function(prop, value) {
if (arguments.length === 1) {
// 如果只提供了一个参数,则返回第一个元素的样式值
if (this[0]) {
return window.getComputedStyle(this[0], null)[prop];
}
} else if (arguments.length === 2) {
// 如果提供了两个参数,则设置每个元素的样式
for (var i = 0; i < this.length; i++) {
this[i].style[prop] = value;
}
}
// 返回当前jQuery对象,以实现链式调用
return this;
};
// 使用示例
var $p = new jQuery('p');
$p.css('color', 'red'); // 将所有p标签的文字颜色设置为红色
console.log($p.css('color')); // 输出第一个p标签的文字颜色
这段代码首先定义了一个简单的jQuery构造器,它接受一个CSS选择器作为参数,并返回一个包含所有匹配元素的jQuery对象。然后,我们在jQuery的原型上定义了一个css
方法,该方法可以用来获取或设置元素的样式。当调用css
方法来设置样式时,它会遍历jQuery对象内的所有元素,并将指定的样式属性应用到每个元素上。当获取样式时,它会返回第一个匹配元素的计算后的样式值。最后,我们提供了一个使用示例来展示如何使用这个自定义的css
方法。
评论已关闭