对JS基础的DOM基础做一个复习把一些需要记忆的记下来

 

DOM是针对HTML和XML文档的API,也就是一个应用程序的编程接口

有时候我们需要对一个标题,一个段落设置样式,或者绑定一些事件之类的前提条件是先取出来

 

document.getElementById(“id”) 返回对拥有指定ID的第一个对象的引用

返回值是DOM对象 id是DOM元素上id属性的值

必须要有ID属性

比如

<div class=”box” id=”box”>元素</div>

<script>

//获取id为box的这个元素

         varbox = document.getElementById(“box”);

         console.log(box);

</script>

 

显示出<div class=”box” id=”box”>元素</div>

Id在页面当中独一无二的,ID不重复 如果不小心一个页面2个ID,就返回第一个

 

如果我们有一个列表有很多<li>我们想把每一个<li>都取出来,我们给每一个li取id是不现实的,这时候用

document.getElementByTagName(“tag”)

返回一个对所有tag标签的集合

返回值:数组    tag为要获取的标签名称

 

<ul id=”list1”>

         <li>前段开发</li>

<li>服务器端开发</li>

<li>ui设计</li>

</ul>

<script>

Var list=document.getElementByTagName(“li”);

console.log(list.length);

</script>

发现3个

 

<ul id=”list1”>

         <li>前段开发</li>

<li>服务器端开发</li>

<li>ui设计</li>

</ul>

<ol>

         <li>JS原生</li>

<li>JS框架</li>

</ol>

 

如果加了这个ol就是5个元素

 

如果只想获得ul的li

<ul id=”list1”>

         <li>前段开发</li>

<li>服务器端开发</li>

<li>ui设计</li>

</ul>

<ol id=”list2”>

         <li>JS原生</li>

<li>JS框架</li>

</ol>

<script>

var list=document.getElementById(“list1”) .getElementByTagName(“li”);

console.log(list.length);

</script>

就只有3个

 

给元素设置样式

ele.style.styleName=styleValue

这是ele元素的样式

 

SytleName为样式名称   不能使用-连字符形式font-size编程fontSize

StyleValue为样式值

<div class=”box” id=”box”>元素</div>

<script>

//获取id为box的这个元素

         varbox = document.getElementById(“box”);

         box. style.color=’#f00’;

         box.style.fontWeight=’bold’;

</script>

 

注意如果是document.getElementByTagName(“tag”)

返回的是数组需要遍历

For(vari=0,len=list.length;i<len:i++){

         List[i] . style.color=’#f00’;

}

 

语法ele.innerHTML  返回ele元素开始和结束之间的HTML和文本

ele.innerHTML = “html”设置ele元素开始和结束之间的HTML内容为html和文本

<ul id=”list1”>

         <li>前段开发</li>

<li>服务器端开发</li>

<li>ui设计</li>

</ul>

<script>

var list=document.getElementById(“list1”).getElementByTagName(“li”);

         For(var i=0,len=list.length;i<len:i++){

         Console.log(list[i].innerHTML)

}

</script>

 

出来的是前段开发

                   服务器端开发

                   UI设计

 

         <li><a>前段开发<   /a></li>

<li>服务器端开发</li>

<li>ui设计</li>

这样就会         <a>前段开发</a>

                            服务器端开发

                            UI设计

 

 

<script>

var list=document.getElementById(“list1”).getElementByTagName(“li”);

         For(var i=0,len=list.length;i<len:i++){

list[i].innerHTML= list[i].innerHTML +’程序’;

}

</script>

 

就每个都加了个程序

 

ele.className 返回ele元素的class属性

ele.className=’cls’ 设置ele元素的class为cls

lis[1].className=’current’;

 

如果原来有设置,原来的类就被替换了

 

ele.getAttribute(“attribute”);

获取ele元素的attribute属性

Attribute是要获取的html属性(如 id type)

 

<p id=”test” class=’text’ align=”center”curdata=”title”>文本</p>

<script>

         varp=document.getElementById(‘text’);

         console.log(p.id);   #得到text 因为一个标签本身就具有这些属性,比如说class出来

                                                        #就是undefined,curdata也不行

</script>

 

我们一定要得到就得p.getAttribute(“curdata”)就得到type

p.getAttribute(“class”)就得到p的classname 就是text

 

设置属性 ele.setAttribute(“attribute”,value)

Atrrbute是设置成哪个属性  value是设置成什么值如果是字符串需要加引号

比如 p.setAttribute(“data-color”,”red”)

 

删除属性ele.removeAttribut(“attribute”)

 

 

把DOM事件中需要记录的东西记录下来,帮助自己复习

当然在学习微信小程序的时候,本人已经做了无数次了哈哈

什么是事件:js与HTML的交互其实就是通过事件实现的

比如说商品加入购物车,点了一下加入购物车按钮

点了之后我们发现我们购买的商品是放进购物车,点了一下去结算按钮,跳转到结算页面

这些都是事件来实现了

 

事件就是文档或浏览器窗口发生的一些特定的交互瞬间。

 

HTML事件:

         直接在HTML元素标签内添加事件,执行脚本

         语法<tag 事件=”执行脚本”></tag>

在HTML元素上绑定事件,执行脚本是一个函数的调用

JS的DOM基础复习

JS的DOM基础复习

JS的DOM基础复习

<input type=”button”value=”弹出”  onclick=”alert(“我是按钮”)”>

这就绑定了

<input type=”button”value=”弹出”  onclick=”haha(this)”>

在事件触发的函数中,this就是对DOM对象的应用

<script>

function haha(btn){

//鼠标滑过按钮变红

 btn.style.background=”#f00”;
}

</script>

传递参数

<input type=”button”value=”弹出”  onclick=”alert(“我是按钮”)”>

这就绑定了

<input type=”button”value=”弹出”  onclick=”haha(this,”#f00”)”>

在事件触发的函数中,this就是对DOM对象的应用

<script>

function haha(btn,bgcolor){

//鼠标滑过按钮变红

 btn.style.background=bgcolor
}

</script>

为了防止有很多<li/>这种很一个一个绑定没法弄,就有了0级事件

DOM0级事件

1.      通过DOM获取元素

2.      (获取HTML元素).事件=执行脚本

ele.事件=执行脚本

执行脚本可以使一个匿名函数,也可以是一个函数的调用

 <ul>

         <li>哈哈</li>

         <li>呵呵</li>

</ul>

这种就用0级

 

<div class=”btn”id=”btn”>开始</div>

<script>

         Var btn = document.getElementBy(“btn”);

Btn.onclick=function(){

this.classname = onload;
}

</script>

 

不推荐用HTML事件,因为多元素绑定相同事件效率低

另外不建议在HTML中写JS代码

 

如果不是匿名函数

FunctionclickBtn(){

}

Btn.onclick=clickBtn;

这里前外别加()

         不变成没触发事件就调用了

 

键盘事件document.onkeydown=function(event){

         #Event表示事件的状态,如触发event对象的元素,鼠标的位置状态

         Console.log(event.keyCode);

}

 

 

 

相关文章: