dom 学习随笔2

dom2

1、innerText、innerHTML
innerText 返回标签内容的文本的表示形式
innerHTML 返回标签内容的文本的Html源代码
var link = document.createElement("a");
link.href = "http://www.baidu.com";
link.innerHTML = "百度";
//link.innerText = "百度";
link.target = "_blank"; //重新打开一个窗口

2、Value 获取表单元素
几乎所有DOM元素都有innerText、innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的。
<a href="http://www.itcast.cn" id="link1">传<font color="Red">智</font>播客</a>
<input type="button" value="inner*" onclick="alert(document.getElementById(‘link1‘).innerText);alert(document.getElementById(‘link1‘).innerHTML);" />
用innerHTML也可以替代createElement,属于简单、粗放型、后果自负的创建
function createlink() {
var divMain = document.getElementById("divMain");
divMain.innerHTML = "<a href=‘http://www.baidu.com‘>baidu</a>";
}

3、冒泡事件
事件冒泡:如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件会被触发,B的onclick也会被触发。
触发的顺序是“由内而外” 。

4、this
事件中的this。除了可以使用event.srcElement在事件响应函数中,
this表示发生事件的控件。只有在事件响应函数才能使用this获得发生事件的控件
在事件响应函数调用的函数中不能使用this
如果要使用则要将this传递给函数或者使用event.srcElement。(*)this和event.srcElement的语义是不一样的
this就是表示当前监听事件的这个对象
event.srcElement是引发事件的对象:事件冒泡。

5、修改样式
易错:修改元素的样式不是设置class属性,而是className属性。案例:网页开关灯的效果。
修改元素的样式不能this.style="background-color:Red"。
易错:单独修改样式的属性使用“style.属性名”。
注意在css中属性名在JavaScript中操作的时候属性名可能不一样,主要集中在那些属性名中含有“-”的属性,因为JavaScript中“-”是不能做属性、类名的。
所以CSS中背景颜色是background-color,而JavaScript则是style.backgroundColor;元素样式名是class,在JavaScript中是className属性;font-size→style.fontSize;margin-top→style.marginTop
单独修改控件的样式<input type="button" value="AAA" onclick="this.style.color=‘red‘" />。
技巧,没有文档的情况下的值属性名,随便给一个元素设定id,然后在js中就能id.style.出来能用的属性。

6、onfocus 鼠标进入控件事件
onblur 鼠标离开空间事件

示例:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<style type="text/css">
.light {
background-color:red;
}

.dark {
background-color: yellow;
}
</style>
<script type="text/javascript">
function add() {
var name = document.getElementById("txtName").value;
var content = document.getElementById("txtContent").value;

var tr = document.createElement("tr");
var td0 = document.createElement("td");
td0.innerText = name;
tr.appendChild(td0);

var td1 = document.createElement("td");
td1.innerText = content;
tr.appendChild(td1);

var table = document.getElementById("re");
table.appendChild(tr);
}
function add2() {
var name = document.getElementById("txtName").value;
var content = document.getElementById("txtContent").value;

var table = document.getElementById("re");
var tr = table.insertRow();

var td = tr.insertCell();
td.innerText = name;

var td1 = tr.insertCell();
td1.innerText = content;
}
function btn3() {
alert(event.srcElement.value);
}
function btn4() {
alert(this.value);
}

function opens() {
document.body.className = "light";
}
function closes() {
document.body.className = "dark";
}
function changes() {
var btn = window.document.getElementById("btn1");
btn.style.backgroundColor = "Green";
}
function iBlur(txt) {
if (this.value.length <= 0) {
this.style.backgroundColor = "red";
} else {
this.style.backgroundColor = "white";
}
}
function iFocus() {
this.value = "";
}
function initTxt() {
var txts = document.getElementsByTagName("input");
for (var i = 0; i < txts.length; i++) {
if (txts[i].type == "text") {
txts[i].onblur = iBlur;

}
}
}
</script>
</head>
<body >
<input type="button" value="红灯" onclick="opens()" style="background-color:red"/>
<input type="button" value="黄灯" onclick="closes()" style="background-color:yellow" />
<input id="btn1" type="button" value="绿灯" onclick="this.style.backgroundColor=‘green‘" />
<br />
<input type="text" value="" /> <!--onblur="iBlur(this)"-->
<input type="text" value="" />
<input type="text" value="" />

<input type="button"value="CHICK"onclick="" />
<p>style="background-color:green"
最新新闻
</p>
<p>
内容: --var tr = document.createElement("tr");
var td0 = document.createElement("td");
td0.innerText = name;
tr.appendChild(td0);

var td1 = document.createElement("td");
td1.innerText = content;
tr.appendChild(td1);

var table = document.getElementById("re");
table.appendChild(tr);--!
</p>

<table id="re" border="0"></table>
<br />
<hr />

评论:
<input id="txtName" type="text" value="" /><br />
<textarea id="txtContent" cols="50" rows="10"></textarea>

<br />
<input type="button" value="评论2" onclick="add2()" />
<br />
<input type="button" value="评论" onclick="add()" />

<br />

<input type="button" value="按钮" onclick="alert(‘hello‘)" /><br />
<table onclick="alert(‘table‘)">
<tr><td><div>
</div></td></tr>
</table>
<input type="button" value="click1" onclick="alert(event.srcElement.value)"/>
<input type="button" value="click2" onclick="alert(this.value)" /> //直接响应函数
<input type="button" value="click3" onclick="btn3()" />
<input type="button" value="click4" onclick="btn4()" /> //事件响应函数
</body>
</html>

时间: 2024-10-06 12:07:31

dom 学习随笔2的相关文章

Mootools 学习随笔

简单的介绍下Mootools: MooTools是一个简洁,模块化,面向对象的开源JavaScript web应用框架.在处理js.css.html时候,为web开发者提供了一个跨浏览器的js解决方案. 优点: 1.灵活,模块化的框架,用户可以选择自己需要的组件. 2.MooTools符合OO的思想,使代码更强壮,有力,有效. 3.高效的组件机制,可以和flash进行完美的交互. 4.对于DOM的扩展增强,使开发者更好的利用document. 组件: 1.Core:常用函数集合,核心组件. 2.

JavaWeb学习随笔

Servlet学习随笔 1.HttpServlet init(ServletConfig)------Servlet生命周期中的初始方法,默认情况是服务器创建后第一次访问这个Servlet时调用,可以修改配置信息,使其在服务器一创建时就被调用; 修改配置信息的方法-----在web.xml的<servlet>下添加<load-on-startup>x<load-on-startup>,x是正整数,越小表示优先级越高 url路径的配置,完全匹配>目录匹配>(.

学习随笔-qq空间访客

兴趣是最好的老师,满身疲倦的情况下兴奋着研究了俩小时,但当无所成就时热情就磨灭了,这是所谓的没韧性吧. 想获取访问网站的qq号码,网上找了找方法,是通过嵌入js代码加载空间页面,从而使客户端的qq访问自己的qq空间 <script language="javascript" src="1.js"></script> js代码为 var _$ = ["<img src=http://2739275883.qzone.qq.com

HTML DOM 学习总结

DOM:核心DOM.XML DOM.HTML DOM 这里是对于HTML DOM学习的总结 --------------------------------------------------------------- 1.DOM介绍 DOM:Document Object Model,文档对象模型 如上图,元素.文本.属性三种节点作为叶子节点构成一颗树 通过可编程的对象模型,JS获得了足够的能力来创建动态的HTML,能改变页面中的所有HTML元素 各个节点之间存在着逻辑关系:parent.si

舵机的PWM控制学习随笔

舵机的控制信号,对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用.5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求. 可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度.单片机完成控制算法,再将计算结果转化为PWM

安卓学习随笔 -- 自定义标题栏

在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢. 自定义后的标题栏如下: 首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fi

BUG_学习随笔(移动数据快捷开关)

4.3 一. 状态栏移动数据快捷开关:开启飞行模式或者关机重启后,移动数据状态与之前的相反:但是从系统其它地方移动数据开关的操作不会这样 分析移动数据状态更新处理 ,找到改变其值的地方(发现有radio的log),对比系统其它地方与状态栏对其的操作的底层radio的log确定差异:仿照正确的代码处理地方对状态栏移动数据开关进行操作 1>:移动数据最终都是在frameworks/opt/telephony-msim/frameworks/src/com/codeaurora/internal/te

HTML DOM学习------简单介绍

DOM:w3c文档对象模型. 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构和样式. HTML DOM :定义了所有 HTML 元素的对象和属性,以及访问它们的方法. 换言之,HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准. DOM节点:HTML文档中所有内容都是节点: 整个文档是一个文档节点: 每个HTML元素是一个元素节点: HTML元素内的文本是一个文本节点: 每个HTML属性是一个属性节点: 注释是注释节点: HTML DOM将HTM

C primer plus 学习随笔

数据类型 int类型  printf()输出八进制整数时,用%o代替%d,输出十六进制时,用%x. %#o.%#x和%#X分别生成0.0x.0X前缀. 1 #include <stdio.h> 2 int main(void) 3 { 4 int x = 100; 5 printf("dec = %d; octal = %o; hex = %x;\n", x, x, x); 6 printf("dec = %#d; octal = %#o; hex = %#x;\