html中元素属性的继承

html-css019

html中元素属性的继承,第1张

<body>

 <div style="border: 1px red solid width: 200px height: 300px">

  <p id="pp" style="border: 1px blue solid">这是一段中的内容

       <h3>标题栏<h3/><!--<h3>标题栏<h3/>这个地方你写错了,正确的是</h3>(注意‘/’的前后位置),结果就是等于没写一样,也就是说<h3>没结束,所以后面你写再多个<p>也会出现这种情况-->

  

  </p>

  <p style="border: 1px blue solid">这是二段中的内容</p>

 </div>

</body><

几大类样式优先级

1、继承样式(无优先级)

<view class="c1">

  <span>span text</span>

</view>

span中的样式会继承view中定义的所有的样式,一但span中有自己的样式就会覆盖从view中继承的样式

2、通配样式

*星号 定义通配样式,引用样式文件的所有标签均可用,标签如有自己的样式也会覆盖通配样式中相同的属性值

3、标签样式

以系统标签命名的样式即适用于文件中该类标签,标签如有自己的样式……同上

4、class样式

5、id样式

#id1 {……} 

6、style样式

样式看完了,上硬菜,对以上六种样式做优先级讲解

1、继承样式 无优先级

2、*通配样式 优先级 0

3、div样式 优先级 0,0,0,0

4、.class类样式 优先级 0,0,1,0

5、#id样式 优先级 0,1,0,0

6、style样式 优先级 1,0,0,0

排序:6>5>4>3>2>1

如果在属性后面加上【!important】,那就是代表这个属性无可替代,以加了【!important】修饰的为准

1、call和apply

二者都可以改变当前的this,区别在于apply方法要将参数放入数组中再传参

2、函数的继承

function Fclass(name, age){

this.name = name

this.age = age

}

Fclass.prototype.showName = function(){

alert(this.name)

}

Fclass.prototype.showAge = function(){

alert(this.age)

}

3、子类

function Sclass(name, age, job){

// 调用父类的call方法并传入子类的this,可实现属性的继承

Fclass.call(this,name,age)

this.job = job

}

// 方法继承:将父类的一个实例赋值给子类的继承

Sclass.prototype = new Fclass()

Sclass.prototype.showJob = function(){

alert(this.job)

}

var Driver = new Sclass('tom',18,'老司机')

Driver.showName()

Driver.showAge()

Driver.showJob()

4、新增选择器

document.querySlector()    选择一个

document.querySlectorAll()   选择一类

jQuery加载:

将获取元素的语句写到页面头部,会因为元素还没有加载而出错,jquery有ready方法解决

//JS写法

window.onload = function(){

var div = document.getElementById('div')

alert(div.innerHTML)

}

//JQ写法

$(document).ready(function() {

var $div = $('#div')

alert('jquery:' + $div.html())

})

//简写

$(function(){

var $div = $('#div')

alert('jquery:' + $div.html())

})

5、jQuery选择器:

$(document) //选择整个文档对象

$('li') //选择所有的li元素

$('#myId') //选择id为myId的网页元素

$('.myClass') // 选择class为myClass的元素

$('input[name=first]') // 选择name属性等于first的input元素

$('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素

对选择集进行修饰过滤(类似CSS伪类)

$('#ul1 li:first') //选择id为ul1元素下的第一个li

$('#ul1 li:odd') //选择id为ul1元素下的li的奇数行

$('#ul1 li:eq(2)') //选择id为ul1元素下的第3个li

$('#ul1 li:gt(2)') // 选择id为ul1元素下的前三个之后的li

$('#myForm :input') // 选择表单中的input元素

$('div:visible') //选择可见的div元素

对选择集进行函数过滤

$('div').has('p')// 选择包含p元素的div元素

$('div').not('.myClass')//选择class不等于myClass的div元素

$('div').filter('.myClass')//选择class等于myClass的div元素

$('div').first()//选择第1个div元素

$('div').eq(5)//选择第6个div元素

6、选择集转移

$('div').prev('p')//选择div元素前面的第一个p元素

$('div').prevAll('p')//选择div元素前面所有的p元素

$('div').next('p')//选择div元素后面的第一个p元素

$('div').nextAll('p')//选择div元素后面所有的p元素

$('div').closest('form')//选择离div最近的那个form父元素

$('div').parent()//选择div的父元素

$('div').children()//选择div的所有子元素

$('div').siblings()//选择div的同级元素

$('div').find('.myClass')//选择div内的class等于myClass的元素

jQuery样式操作:

//读取样式

alert($('.div1').css('fontSize'))

//设置样式

$('.div1').css({background:'gold'})

//增加行间样式

$('.div1').addClass('big')

//减少行间样式,多个样式用空格分开

$('.div1').removeClass('div1')

7、click事件

$('#btn').click(function(){

$('.box').toggleClass('sty')  //切换样式

})

jQuery索引值:

$('.list li').click(function(){

// alert(this.innerHTML)

// alert($(this).html())

alert($(this).index())

})

jQuery属性操作:

html()

// 取出html内容

var $htm = $('#div1').html()

// 设置html内容

$('#div1').html('<span>添加文字</span>')

text()

// 取出文本内容

var $htm = $('#div1').text()

// 设置文本内容

$('#div1').text('<span>添加文字</span>')

attr():

// 取出图片的地址

var $src = $('#img1').attr('src')

// 设置图片的地址和alt属性

$('#img1').attr({ src: "test.jpg", alt: "Test Image" })

jQuery特殊效果:

fadeIn() 淡入

fadeOut() 淡出

fadeToggle() 切换淡入淡出

hide() 隐藏元素

show() 显示元素

toggle() 依次展示或隐藏某个元素

slideDown() 向下展开

slideUp() 向上卷起

slideToggle() 依次展开或卷起某个元素

jQuery链式调用

$('#div1') // id为div1的元素

.children('ul') //该元素下面的ul子元素

.slideDown('fast') //高度从零变到实际高度来显示ul元素

.parent()  //跳到ul的父元素,也就是id为div1的元素

.siblings()  //跳到div1元素平级的所有兄弟元素

.children('ul') //这些兄弟元素中的ul子元素

.slideUp('fast')  //高度实际高度变换到零来隐藏ul元素