- $.extend()函数用于将一个或多个对象的内容合并到目标对象
- $.extend([deep],target,objectN)
- deep 可选。 Boolean类型 指示是否深度合并对象,默认为false
- target Object类型 目标对象,其他对象的成员属性将被附加到该对象上
- objectN 需要被合并的对象
<body>
<script src="./jquery-1.12.4.js"></script>
<script>
var car1 = {
color: { name: '水晶白', price: '1000w' }
}
var car2 = {
carname: '保时捷',
color: { name: '酷酷酷' }
}
function showCar(obj) {
var car1 = {
color: { name: '水晶白', price: '1000w' }
}
$.extend(true, car1, obj)
console.log(car1)
}
showCar(car2);
</script>
- $.fn.extend() 函数为jQuery扩展一个或多个实例属性和方法
- $.fn是jQuery的原型对象
- $.fn.extend()方法用于为jQuery的原型添加新的属性和方法
- 这些方法可以在jQuery实例对象上调用,$('') 就叫做jQuery对象
实现取消和全选功能
<body>
<button id="btn1">全选</button>
<h1>爱好</h1>
<input type="checkbox" name="" id="">睡
<input type="checkbox" name="" id="">吃
<input type="checkbox" name="" id="">躺
<script src="./jquery-1.12.4.js"></script>
<script>
$.fn.extend:function(){
checked:function(){
this.each(function(i,e){
console.log(e.checked)
if(e.checked==false){
e.checked=true;
$('#btn1').text('取消')
}else{
e.checked=false;
$('#btn1').text('全选')
}
})
}
$('#btn1').click(function(){
$('input[type=checkbox]').checked();
})
原生转成jq对象
let h1 = document.querySelector('h1')
console.log( $(h1).get(0) )
jq对象转原生的方法
第一种 $(h1)[0]
使用$(h1).get(0)方法 可以把单个的jq元素转成原生dom对象
获取的行内元素的样式
console.log( h1.style.display );
getComputedStyle是用来获取元素的最终样式,它不仅可以获取行内样式,
也可以获取嵌入式样式,最终获取到的样式是根据优先级来决定的,而style只能获取行内样式
console.log( window.getComputedStyle($('h1').get(0),null).color)