Dow事件

《栋却门得。给 哎里们 拜》对象获取元素根据。。id 通过ID获取元素

DOM查找方法

document.getElementById()

document.getElementsByTagName()

语法:document.getElementById(“id”)

功能:返回对拥有指定ID 的第一个对象的引用

返回值:DOM对象说明:id为DOM元素上id属性的值

<div class="box" id="box">元素1</div>

<script>

var box=document.getElementById("box"); // 获取id为box的这个元素

console.log(box); //返回的是box的div本身

</script>

id只能有一个,返回的是整个div本身



语法:document.getElementsByTagName(“tag”)

功能:返回一个对所有tag标签引用的集合

返回值:数组

说明:tag为要获取的标签名称

分析:通过标签名选取的元素是一个类数组对象,如果你要获取到特定的元素,那么就要像数组一样,下标从0开始算起,找到这个元素,比如:要找第三个li,就是4.



tag可以是页面中所有的a,li标签等 //输出5,并且输出所有的li以数组的形式

返回是,数组,并且有数量属性

获取到list1下的所有的li //输出3,并且输出所有li以数组的形式

<ul id="list1">

<li>前端开发</li>

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

<li>UI设计</li>

</ul>

<ol>

<li>javaScript原生</li>

<li>javaScript框架</li>

</ol>

<script>

var lis=document.getElementsByTagName("li"); // 获取页面中所有的li和数量

console.log(lis.length);

var lis2=document.getElementById("list1").getElementsByTagName("li");

// 获取id为list1下的所有的li和数量

console.log(lis2.length);

</script>



设置动态样式:

语法:ele.style.styleName=styleValue

功能:设置ele元素的CSS样式说明:1、ele为要设置样式的DOM对象

2、styleName为要设置的样式名称

3、styleValue为设置的样式值

属性不能用-形式,只能用驼峰形式。如果font-weight改为fontWeight

<div class="box" id="box"> 元素1 </div>

<script>

// 设置id为box的这个元素的文字颜色,属性是减号连接的复合形式时

// 必需要转换为驼峰形式

var box=document.getElementById("box");

box.style.color=‘#f00‘;

box.style.fontWeight="bold";

</script>



设置元素样式是必须要Dom对象document

因为getElementsByTagName()取出来的是数组是需要遍历每一个元素,取出每一个元素

可以让他们的颜色都不一样

<ul id="list">

<li>前端开发</li>

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

<li>UI设计</li>

<li>UI设计</li>

<li>UI设计</li>

</ul>

<script>

var lis=document.getElementById("list").getElementsByTagName("li");

for(var i=0,len=lis.length;i<len;i++){ // 遍历每一个li

lis[i].style.color=‘#00f‘;

if(i==0){

lis[i].style.backgroundColor="#ccc";

}else if(i==1){

lis[i].style.backgroundColor="#666";

}else if(i==2){

lis[i].style.backgroundColor="#999";

}else{

lis[i].style.backgroundColor="#333";

}

}

</script>

之后的li继续着样式下去。



选取DOM元素的方法

方法 语法 说明
通过ID getElementById() 返回带有指定ID的元素
通过标签名 getElementsByTagName() 返回带有指定标签名的所有元素,返回的是一个类数组对象
通过name属性 getElementsByName() 返回指定name属性值的所有子元素的集合,返回的是一个类数组对象
通过CSS类 getElementsByClassName() 返回指定class名称的元素


《音呐html》是一个范围

innerHTML

语法:ele.innerHTML

无等号=是获取开始到结束标签之间的文本和HTML内容,标签内容,

功能:返回ele元素开始和结束标签之间的HTML

语法:ele.innerHTML=”html ”

有等号=则用来设置的,加上内容或者设置成为html,lis[i].innerHTML+="程序";

功能:设置ele元素开始和结束标签之间的HTML内容为html

for返回出li里面的所有内容

<head>

<style>

.on{border-bottom:1px solid #0f0;}

.current{background:#ccc;color:#f00;}

</style>

</head>

<body>

<div class="box" id="box">元素1</div>

<ul id="list">

<li><i>前端开发</i></li>

<li class="on"><b>服务器端开发</b></li>

<li>UI设计</li>

</ul>

<script>

var lis=document.getElementById("list").getElementsByTagName("li");

for(var i=0,len=lis.length;i<len;i++){

console.log(lis[i].innerHTML); //无获取html 里的内容

lis[i].innerHTML+=‘程序‘; //有=设置成为html内容

lis[1].className="current"; //与上样式,来设置html样式

}

console.log(document.getElementById("box").className);

//如果元素有两个以上的class属性值,那么获取这个元素的className属性是,会将它的class属性值都打印出来 //输出box,打印出class的属性,打印出类名。

</script>

</body>

上面代码设置好current的样式,然后设置给第2个li,动态的js替换掉之前的class。

给一类元素添加class属性的,无等=是获取class属性,有等号=是设置

className

语法:ele.className

功能:返回ele元素的class属性

语法:ele.className=”cls”

功能:设置ele元素的class属性为cls

<body>

<div class="news">

<p class="new1">新闻标题1</p>

<p class="new2">新闻标题2</p>

<p class="new1">新闻标题3</p>

</div>

<script>

var

div=document.getElementsByClassName("news")[0];

var new1=div.getElementsByClassName("new1");

var new2=div.getElementsByClassName("new2");

console.log(div);

console.log(new1);

console.log(new2);

</script>

</body>

输出结果:输出的是body的内容,还有[p,new1,p.new2],[p.new2]

分析:

通过CSS类选取到的元素也是一个类数组对象,也要像数组一样,下标从0开始

算起,找到数组中的某个元素。

本例中,通过getElementsByClassName("news")[0];获取到了第一个div,他的子元素P标签是在它的基础上再通过类选择器获取元素的

如果不加下标直接写var div=document.getElementsByClassName("news");的话,那么我们获

取到的是一个‘类名为news’的数组,这时控制台会提示:错误

也就是这个div是CSS‘类名为news’的数组,并不是p标签的父元素



获取HTML属性。

A直接获取法但是只能得到它有的标签属性,class以外 分割号除外,自定义标签除外。返回的是undefined未定义的,或者报错null。如Dom对象.属性(p.id) //返回text

《给的额去备t》

B语法:ele.getAttribute(“attribute”)

功能:获取ele元素的attribute属性

说明:1、ele是要操作的dom对象

2、attribute是要获取的html属性(如:id,type)

<style>

.on{border-bottom:1px solid #0f0;}

.current{background:#ccc;color:#f00;}

</style>

<body>

<p id="text" class="text" align="center" data-type="title">文本</p>

<input type="text" name="user" value="user" id="user" validate="true">

<script>

var p=document.getElementById("text");

var user=document.getElementById("user"); // null

console.log(p.getAttribute("class")); //p.className //获取返回text

console.log(user.getAttribute("validate")); //返回true

p.setAttribute("data-color","red"); // 给p设置一个data-color的属性

user.setAttribute("isRead","false"); // 给input设置一个isRead的属性

p.removeAttribute("align"); // 删除p上的align属性

</script>

</body>

设置属性

语法:ele.setAttribute(“attribute”,value)

功能:在ele元素上设置属性

说明:1、ele是要操作的dom对象 //1setAttribute方法必须要有两个参数

2、attribute为要设置的属性名称 //如果value是字符串,需加引导

3、value为设置的attribute属性的值 //setAttribute()有兼容性问题



删除属性:

语法:ele.removeAttribute(“attribute”)

功能:删除ele上的attribute属性

说明:1、ele是要操作的dom对象

2、attribute是要删除的属性名称

时间: 2024-10-17 19:17:33

Dow事件的相关文章

移动端点击事件全攻略,有你知道与不知道的各种坑

看标题的时候你可能会想,点击事件有什么好说的,还写一篇攻略?哈哈,如果你这么想,只能说明你too young to simple. 接触过移动端开发的同学可能都会面临点击事件的第一个问题:click事件的300ms延迟响应.不能立即响应给体验造成了很大的困扰,因此解决这个问题就成为了必然. 这个问题的解决方案就是: zepto.js的tap事件.tap事件可以理解为在移动端的click事件,而zepto.js因为几乎完全复制jQuery的api,因此常常被用在h5的开发上用来取代jquery.

js监控微信浏览器的自带的返回事件

pushHistory(); window.addEventListener("popstate", function(e) { e.preventDefault(); //alert("我监听到了浏览器的返回按钮事件啦"); //根据自己的需求实现自己的功能 //window.location = 'http://www.baidu.com'; pushHistory(); }, false); function pushHistory() { var state

微信小程序学习总结(2)------- 之for循环,绑定点击事件

最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习. 先说一下此次项目本人体会较深的几个关键点:微信地图.用户静默授权.用户弹窗授权.微信充值等等. 言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:  1. 想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view

touchstart和touchend事件

touchstart和touchend事件 移动互联网是未来的发展趋势,现在国内很多互联网大佬都在争取移动这一块大饼,如微信及支付宝是目前比较成功的例子,当然还有各种APP和web运用. 由于公司的需要,最近也在开发移动web,对于一个没有移动开发经验的人来说,其实也是比较困恼的一件事情.对于移动web开发目前主要是基于webkit内核的浏览器.在webkit内核的环境下开发,你可以充分的运用html5+css3,还有它的一些私有属性.这让我很兴奋.可是,毕竟,对于一个长期习惯pc端做固定像素开

苹果手机输入中文不会触发onkeyup事件

今天同事的项目有这个问题,用我的安卓手机输入中文是ok的,但是苹果手机就不行 使用keyup事件检测文本框内容:  $('#keyup_i').bind('keyup', function(){         $('#keyup_s').text($(this).val());  } 本来是上面这种处理方式,现在改成下面这样就ok了 使用oninput以及onpropertychange事件检测文本框内容:  //先判断浏览器是不是万恶的IE,没办法,写的东西也有IE使用者       var

离散事件模型

0x01 代码框架逻辑 模拟内容: 1.离散事件模拟,模拟银行营业时的排队情况 2.不考虑顾客中途离开,顾客到达事件随机,业务办理时间 3.长度随机,选择最短的队排队,不再换队 代码逻辑: 1.一个事件链表,四个窗口排队队列 2.事件驱动:每有一个新的顾客到达,将产生下一个新顾客到达的新事件按时间顺序从小到大(OccurTime)插入事件链表(EventList) (如果此时窗口队列只有 一个顾客,还将产生此顾客离开事件插入事件链表中)      每有一个顾客从某一队列首离开,将产生他的后一位顾

zepto事件

1.zepto的定义 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api 2.zepto与jq的区别 ①相同点:Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小:zepto的API大部分都能和jQuery兼容,所以用起来极其容易 ②不同点: (1).针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件.swipe事件) (2),Dom操作的区别:添加id时jQ

15.1-全栈Java笔记:Java事件模型是什么?事件控制的过程有哪几步??

应用前边两节上一章节的内容,大家可以完成一个简单的界面,但是没有任何的功能,界面完全是静态的,如果要实现具体功能的话,必须要学习事件模型. 事件模型简介及常见事件模型 对于采用了图形用户界面的程序来说,事件控制是非常重要的. 一个源(事件源)产生一个事件并把它(事件对象)送到一个或多个监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接收,监听器将处理这些事件. 一个事件源必须注册监听器以便监听器可以接收关于一个特定事件的通知. 每种类型的事件都有其自己的注册方法,一般形式为: v

RecyclerView动态添加、删除及点击事件

上一节讲解了RecyclerView的三种显示方式,本节将主要研究一下RecyclerView的动态添加.删除及其单击和长按事件的处理.我们在上一节代码的基础上进行相关操作. 一.修改适配器类MyAdapter,加入添加和删除这两个方法: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private Context context; private List<String>