前端-js:知识补充(增删改查)

Lojarro 2024-10-21 16:03:02 阅读 68

dom操作

document(文档) object(对象) model

增删改查

1.查找

1.1 getElementById()

        根据id值获取元素,返回符合条件的第一个对象

<code><div id="aa">demo</div>code>

<div id="aa">demo1</div>code>

<p id="aa">bbb</p>code>

<h3 id="aa">sss</h3>code>

<div id="pp" class="aa" ds="sc" style="background-color: red;">demo10</div>code>

var obj=document.getElementById("aa")

console.log(obj)

以文档打印

 

<code>console.dir(obj)

以对象打印

 对象里的属性:

<code>obj.style.background="red"code>

obj.style.color="yellow"code>

obj.style.fontSize="80px"code>

obj.onclick=function(){

alert(1)

}

null-->从上往下进行,先进行外引到这里,没有id为aa的


 

 1.2.getElementsByClassName()

        根据class值获取元素,返回所有符合条件的对象组成的数组

 

<code><div class="aa">demo</div>code>

<div class="aa">demo1</div>code>

<p class="aa">bbb</p>code>

<h3 class="aa">sss</h3>code>

var arr=document.getElementsByClassName("aa")

console.log(arr)

对象:

<code>arr[0].style.background="red"code>

arr[0].style.color="yellow"code>

arr[0].style.fontSize="80px"code>

arr[0].onclick=function(){

alert(1)

}

 

1.3.getElementsByTagName()

根据元素名称获取元素,返回所有符合条件的对象组成的数组

<code>var arr=document.getElementsByTagName("div")

console.log(arr)

console.log(arr.length)

1.4.querySelector()

根据选择器获取元素  (包含选择器...) 返回符合条件的第一个对象

<code>var obj=document.querySelector(".aa")

console.log(obj)

1.5.querySelectorAll()

        根据选择器获取元素,返回所有符合条件的对象组成的数组

<code>var arr=document.querySelectorAll(".aa")

console.log(arr)

<code><p class="cc">ch</p>code>

<div class="aa">child1code>

<p class="bb">demo</p>child2code>

<h3 class="aa">demo2</h3>child3code>

</div>

<div id="pp" class="aa" ds="sc" style="background-color: red;">demo10</div>code>

var obj=document.querySelector(".aa")

console.log(obj)

console.log(obj.querySelectorAll("p"))

1.6 通过关系查找

找父亲 parentNode  parentElement

找孩子  childNodes  children

            第一个孩子 firstChild   firstElementChild

             最后一个孩子   lastChild   lastElementChild

找上一个元素  previousSibling   previousElementSibling

下一个元素   nextSibling      nextElementSibling

<code><p class="cc">ch</p>code>

<div class="aa">child1code>

<p class="bb">demo</p>child2code>

<h3 class="aa">demo2</h3>child3code>

</div>

<div id="pp" class="aa" ds="sc" style="background-color: red;">demo10</div>code>

 在这里,第一个孩子是child1

var obj=document.querySelector('.aa')

console.log(obj.firstChild)


2.修改


2.1修改内容

innerHTML属性  把修改的内容给当作标签处理

innerText   把修改的内容当做文本处理

value修改input里的值

 

<code><div class="aa">demo1</div> code>

<input type="text" class="aa" value="你好">code>

<input type="text" class="aa" placeholder="请输入账号">提示的作用code>

 

var obj=document.querySelector(".aa")

console.dir(obj)

console.log(obj.innerHTML)

obj.innerHTML="<h1>新内容</h1>"code>

obj.innerText="<h1>新内容</h1>"code>

obj.value="aaaaaaa" code>

 

 

 

 


<code>obj.innerHTML="<h1>新内容</h1>"code>

 


<code>obj.innerText="<h1>新内容</h1>"code>


2.2 修改属性

原生属性  

        对象.属性=值

 

<code>var obj=document.querySelector(".aa")

console.log(obj.className)

obj.class="demo"code>

console.log(obj)

 


自定义属性  

        setAttribute

<code>obj.setAttribute("hello","helloworld")

console.log(obj.getAttribute("hello"))

 

 

2.3修改样式
1.对象.style.属性=值

<code>obj.style.background="red"code>

obj.style.color="yellow"code>

obj.style.fontSize="80px"code>

 

2 对象.style.cssText

<code>obj.style.cssText="background:red;color:yellow;font-size:60px"code>

 

3.通过修改属性,结合css达到修改样式的目的

<code>obj.className="red"code>


 

tip:随机

obj.onclick=function(){

var bj=""code>

for(var i=0;i<6;i++){

bj+=Math.round(Math.random()*9)

}

console.log(bj)

obj.style.background="#"+bjcode>

}


 综合:

<code> <h1 class="demo" style="background-color: aquamarine;">code>

<span>demo</span>

<div>aaaa</div>

</h1>

<ul>

<li>hello</li>

<li>hello</li>

<li class="aa">code>

<p>demo</p>

<h2>tt</h2>

<a href="#">coa</a>code>

</li>

<li>hello</li>

<li>hello</li>

<li>hello</li>

</ul>

var arr=document.querySelectorAll("li")

console.log(arr)

arr[0].onclick=function(){

arr[0].style.background="red"code>

}

arr[1].onclick=function(){

arr[1].style.background="red"code>

}

arr[2].onclick=function(){

arr[2].style.background="red"code>

}

arr[3].onclick=function(){

arr[3].style.background="red"code>

}

arr[4].onclick=function(){

arr[4].style.background="red"code>

}

arr[5].onclick=function(){

arr[5].style.background="red"code>

}

等于for循环

for(var i=0;i<arr.length;i++){

// 当点击事件时i已经跳出来循环了

arr[i].onclick=function(){

arr[i].style.background="red"code>

}

}

加上随机

for(var i=0;i<arr.length;i++){

arr[i].onclick=function(){

var bj=""code>

for(var i=0;i<6;i++){

bj+=Math.round(Math.random()*9)

}

this.style.background="#"+bjcode>

}

}

3.添加

 第一步:创造元素

①创建元素createElement()

②复制元素cloneNode()  false表示浅复制,只复制外壳  true表示复制全部

var newNode=document.createElement("h1")

console.log(newNode)

newNode.innerHTML="新添加的元素"code>

newNode.className="aa"code>

newNode.style.background="yellow"code>

<code>var oldNode=document.querySelector("h1")

var newNode=oldNode.cloneNode(true)

console.log(newNode)

 第二步:添加元素

 ①appendChild在子元素最后位置添加

 ②insertBefore(要插入的元素,插入在哪个节点之前) 在某个子元素前添加

 ③replaceChild(要插入的元素,要被替换的元素)替换掉元素

var container=document.querySelector(".aa")

var h2=document.querySelector("h2")

console.log(container)

console.log(h2)

container.appendChild(newNode)

<code>container.insertBefore(newNode,h2)

<code>container.replaceChild(newNode,h2)

4.删除

父级元素调用删除的方法

  removeChild(要删除的元素)

找父级元素,父级元素调方法

<code>var conntainer=document.querySelector(".aa")

var h2=document.querySelector("h2")

conntainer.removeChild(h2)

或者 

h2.parentNode.removeChild(h2)



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。