5、第九 - WEB开发基础 - JavaScript中的document选择器

  JavaScript应用中的document选择器:直接选择、间接选择。

一、JavaScript中的元素查找

1、直接查找:

document.getElementById             根据ID获取一个标签
document.getElementsByName          根据name属性获取标签集合
document.getElementsByClassName     根据class属性获取标签集合
document.getElementsByTagName       根据标签名获取标签集合

直接找到对应的div标签中的文本内容:

如:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="i1">我是i1</div>
    <div>新内容
        <a>A</a>
        <a>B</a>
    </div>
    <div>chen1</div>
    <div>chen2</div>
    <div>chen3</div>
</body>
</html>

A、找到div 中,‘我是i1’ 的内容。 根据定义的ID进行查找,document.getElementById('i1'),再接上innerText,打印标签的内容。='chen1203'  进行内容显示替换。

B、把 A B内容截取出来

2、间接查找:

parentNode          // 父节点
childNodes          // 所有子节点
firstChild          // 第一个子节点
lastChild           // 最后一个子节点
nextSibling         // 下一个兄弟节点
previousSibling     // 上一个兄弟节点
 
parentElement           // 父节点标签元素
children                // 所有子标签
firstElementChild       // 第一个子标签元素
lastElementChild        // 最后一个子标签元素
nextElementtSibling     // 下一个兄弟标签元素
previousElementSibling  // 上一个兄弟标签元素

 举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>
        <div></div>
        <div>
            c1
        </div>
        <div></div>
    </div>
    <div>
        <div id="i1">
            c2
        </div>

    <div>
        <div>
            c3
        </div>
    </div>
</body>
</html>

根据标签中内容找到C3信息,操作如下:

tags = document.getElementById('i1')
tags.parentElement
tags.nextElementSibling
tags.nextElementSibling.getElementsByTagName('div')[0]
tags.nextElementSibling.getElementsByTagName('div')[0].innerText

 先找到 ID为i1做为参照物,在通过相邻,上下的标签做调整。

3、标签操作:

A、获取标签信息

innerText   文本
outerText
innerHTML   HTML内容
innerHTML  
value       值

B、属性

attributes                // 获取所有标签属性
setAttribute(key,value)   // 设置标签属性
getAttribute(key)         // 获取指定标签属性
 
/*
var atr = document.createAttribute("class");
atr.nodeValue="democlass";
document.getElementById('n1').setAttributeNode(atr);
*/

 C、class操作

className                // 获取所有类名
classList.remove(cls)    // 删除指定类
classList.add(cls)       // 添加类

D、标签操作

(1)、创建标签

// 方式一
var tag = document.createElement('a')
tag.innerText = "chen1203"
tag.className = "c1"
tag.href = "http://www.baidu.com"

//方式二
var tag = "<a class='c1' href='http://www.baidu.com'>chen1203</a>"

(2)、操作标签

// 方式一
var obj = "<input type='text' />";
xxx.insertAdjacentHTML("beforeEnd",obj);
xxx.insertAdjacentElement('afterBegin',document.createElement('p'))
 
//注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'
 
// 方式二
var tag = document.createElement('a')
xxx.appendChild(tag)
xxx.insertBefore(tag,xxx[1])

E、样式操作

替换样式

var obj = document.getElementById('i1')
 
obj.style.fontSize = "32px";
obj.style.backgroundColor = "red";

 F、提交表单

document.geElementById('form').submit()

 G、其他操作

console.log                 输出框
alert                       弹出框
confirm                     确认框
  
// URL和刷新
location.href               获取URL
location.href = "url"       重定向
location.reload()           重新加载
  
// 定时器
setInterval                 多次定时器
clearInterval               清除多次定时器
setTimeout                  单次定时器
clearTimeout                清除单次定时器

 

二、JavaScript中的事件触发器

 

举例:(跑马灯)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
    <!--  -->
    <div id="i1">12321</div>
    <script>
        function func() {
            // 根据ID获取指定标签的内容,定于局部变量接收
            var tag = document.getElementById('i1');
            //获取标签内部的内容
            var content = tag.innerText;
            var f = content.charAt(0)
            var l = content.substring(1,content.length)
            var new_content = l + f;
            tag.innerText = new_content;
        }
        setInterval('func()',1000)
    </script>
</body>
</html>

 

转载于:https://www.cnblogs.com/chen170615/p/9668080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值