HTML DOM学习记录小结

在这里插入图片描述
1.改变 HTML 样式

document.getElementById(“p2”).style.color=“blue”;
document.getElementById(“p2”).style.fontFamily=“Arial”;

2.获取或替换元素的内容,一个是 innerHTML,另一个是 innerText

document.querySelector(‘body’).innerHTML = res.data;

var txt=document.getElementById(“intro”).innerHTML;
document.write(txt);
getElementById 是一个方法,而 innerHTML 是属性。

3.getElementsByTagName() 方法
getElementsByTagName() 返回带有指定标签名的所有元素。

<div id="main">
<p>DOM 是非常有用的。</p>
<p>这个实例演示了 <b>getElementsByTagName</b> 方法的使用。</p>
</div>
<script> 
var x=document.getElementById("main").getElementsByTagName("p");
document.write(x[0].innerHTML);
</script>

document.getElementById("main").getElementsByTagName("p")
根据X[ ]寻找索引 然后显示例子返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等)

4.查找带有相同类名的所有 HTML 元素

document.getElementsByClassName(“intro”);
上面的例子返回包含 class=“intro” 的所有元素的一个列表:

注意:getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。

5.appendChild() 方法 将新节点增加到指定节点

appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。

6.creatElement() 方法 创建属性节点
7.creatTextNode() 方法 创建文本节点

<div id="div1">
<p id="p1">这是一个段落。</p> 
<p id="p2">这是另一个段落。</p> 
</div> 
<script> 
var para=document.createElement("p"); 
var node=document.createTextNode("这是一个新段落。");
para.appendChild(node); 
var element=document.getElementById("div1"); 
element.appendChild(para); 
</script>

这段代码创建了一个新的 <p>元素:
var para=document.createElement(“p”);
如需向<p> 元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:
var node=document.createTextNode(“这是一个新段落。”);
然后您必须向<p>元素追加文本节点:
para.appendChild(node);
最后,您必须向已有元素追加这个新元素。这段代码查找到一个已有的元素:
var element=document.getElementById(“div1”);
向这个已存在的元素追加新元素:
element.appendChild(para)

8.创建新的 HTML 元素 - insertBefore()
insertBefore ,将新增的元素添加为第一个元素。

<div id="div1"> 
<p id="p1">这是一个段落。</p> 
<p id="p2">这是另外一个段落。</p> 
</div> 
<script> 
var para=document.createElement("p"); 
var node=document.createTextNode("这是一个新段落。"); 
para.appendChild(node);  
var element=document.getElementById("div1"); 
var child=document.getElementById("p1"); 
element.insertBefore(para,child); 
</script>

9.删除已有的 HTML 元素removechild

查找 id=“div1” 的元素:
var parent=document.getElementById(“div1”);
查找 id=“p1” 的<p> 元素:
var child=document.getElementById(“p1”);
从父元素中删除子元素:
parent.removeChild(child);

10.替换子节点属性 replacechild

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另外一个段落。</p>
</div> 

<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1"); 
var para=document.createElement("p"); 
var node=document.createTextNode("这是一个新的段落。"); 
para.appendChild(node); 
parent.replaceChild(para,child); 
</script>

11.nodeValue 属性
nodeValue 属性规定节点的值。

  1. 元素节点的 nodeValue 是 undefined 或 null
  2. 文本节点的 nodeValue 是文本本身
  3. 属性节点的 nodeValue 是属性值

12.childNodes 和 nodeValue
除了 innerHTML 属性,您也可以使用 childNodes 和 nodeValue 属性来获取元素的内容。
下面的代码获取 id=“intro” 的

元素的值:

<p id="intro">Hello World!</p>
<script> 
txt=document.getElementById("intro").childNodes[0].nodeValue; 
document.write(txt); 
</script>

13.使用事件
HTML DOM 允许您在事件发生时执行代码。
当 HTML 元素"有事情发生"时,浏览器就会生成事件:
1.在元素上点击
2.加载页面
3.改变输入字段

在按钮被点击时改变 <body> 元素的背景色

<input type="button"οnclick="document.body.style.backgroundColor=‘lavender’;"value=“修改背景颜色”>

由函数执行相同的代码

<script> 
function ChangeBackground(){
document.body.style.backgroundColor="lavender";
}
</script> 
<input type="button" onclick="ChangeBackground()" value="修改背景颜色" />

修改文本

<script>function ChangeText(){
document.getElementById("p1").innerHTML="Hello Runoob!";
}
</script>
 <input type="button" onclick="ChangeText()" value="修改文本" />

14.HTML DOM 节点列表长度
length 属性定义节点列表中节点的数量。

x=document.getElementsByTagName("p");
for (i=0;i<x.length;i++) 
{ 
document.write(x[i].innerHTML); 
document.write("<br>"); 
}

获取所有 <p> 元素节点
输出每个 <p>元素的文本节点的值

15.DOM 根节点
这里有两个特殊的属性,可以访问全部文档:

1.document.documentElement - 全部文档
2.document.body - 文档的主体

16.JS中的节点操作
写几个常用的API, 来操作DOM节点。
(1)document.getElementById()
(2)object.innerHTML该属性设置或返回object之间的HTML
(3)document.createElement()创建节点对象。
(4)document.body.appendChild()尾部插入结点。
(5)object.parentNode.removeChild(oChildNode);移除结点

17.jQuery中的结点操作
(1)添加结点
a. append()和appendTo(), 两个方法是对应的一对儿操作。

$('#parentNodeId').append(childNode);
$('#childeNode').appendTo(parentNode);

b.prepend()prependTo(), 这也是一对儿对应的操作方法。其作用是添加一个结点到父节点中并前置。用法和上一对儿一样。

c.与之对应的还有after, insertAfter; before, insertBefore等,其用法都和上面的相同。其效果是将新建的元素插入到指定的元素之后/前,并和目标元素紧邻,作为兄弟结点存在。

(2). remove()

remove()方法删除所有匹配的元素,传入的参数用于筛选元素,**该方法可以删除元素中所有的子节点,**当匹配的节点及后代被删除后,该方法返回值是指向被删除结点的引用因此可以使用该引用,再使用被删除的元素。

$span = $('span').remove();

$span.insertAfter('ul');

示例中,先删除所有的span元素,把删除的元素使用$span接收,把删除后的元素添加到ul后面,作为ul的兄弟结点。该操作产生的效果即把所有的span元素以及后代元素移到ul后面

(3). empty()
empty()方法严格来讲并不是删除元素,该方法只是清空节点,它能清空元素中的所有子节点。

(3)修改DOM节点
**a. 复制节点,**当clone()方法有参数,并且为true时,表示同时复制该元素的属性,如果没有参数,表示不复制属性。
$(element).clone(true);
b.替换节点

1.$(element).replacewith();
2.$(element).replaceAll();

(4)属性操作
attr()和removeAttr()。 attr()方法能够获取元素属性,也能够设置元素属性。removeAttr()方法删除特定的属性,方法是在参数中指定属性名。

$('p').attr('title');
 
$('p').attr('title':'题目');
 
$('p').attr({'title':'题目','name':'水果'});

(5)样式操作
addClass()、removeClass()这对儿方法是添加和删除样式。
toggleClass()该方法用来切换目标元素的样式。

设置添加css样式
$('p').css('color','red');
获取值
$('id').val();
设置值
$('id').val('hello');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值