根据给定的文件信息,我们可以总结出以下关于DOM(Document Object Model)操作的关键知识点: ### DOM简介 DOM是一种处理HTML和XML文档的标准接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM将文档视为树结构,每个节点代表文档中的某个部分,如元素、属性或文本。 ### DOM选择器与节点操作 在第一个示例中,通过`getElementById`方法获取了ID为`tableLinks2`的表格节点。这展示了如何在DOM中定位特定元素。接下来,代码遍历了一个对象数组,对于每个键值对,创建了一个新的行(`<tr>`),并插入到表格中。这一过程涉及了`insertRow`和`insertCell`方法的使用,展示了如何动态创建和插入DOM节点。 ### 动态生成DOM节点 第二个示例中,`createElement`方法被用来创建新的`<tr>`和`<td>`节点,然后将它们添加到DOM树中。这演示了如何从无到有构建DOM结构。`appendChild`方法用于将新创建的节点添加到父节点中,进一步增强了DOM操作的灵活性。 ### 事件处理与DOM节点 第三个示例展示了如何为DOM节点添加事件监听器。当用户与这些节点交互时(如点击),相应的事件处理器将被执行。这里,通过直接在HTML标签中定义`onclick`属性来添加事件处理函数。这种内联事件处理虽然简单,但在大型项目中通常不推荐,因为会使得HTML和JavaScript代码混杂,难以维护。 ### `this`关键字与`event.srcElement` 在最后一个示例中,`this`关键字和`event.srcElement`属性的使用被突出展示。`this`关键字在事件处理器内部指向触发事件的元素,而`event.srcElement`则提供了事件最初触发的DOM元素的引用。这些概念对于理解事件冒泡和捕获,以及实现更复杂的事件处理逻辑至关重要。 ### 总结 通过以上分析,我们了解了DOM的基本操作,包括选择和修改DOM节点,动态生成DOM结构,以及响应用户事件。这些是前端开发中非常核心的技能,掌握它们能够帮助开发者创建更加动态和交互丰富的网页应用。同时,对`this`关键字和事件模型的理解,是构建复杂用户界面的基础,有助于开发者设计出既美观又功能强大的Web应用程序。
<head>
<title></title>
<script type="text/javascript">
function LoadData() {
var data = { "百度": "http://baidu.com", "新浪": "http://www.sina.com", "传智播客": "http://www.itcast.cn" };
var tableLinks2 = document.getElementById("tableLinks2");//获得表对象
for(var key in data){//KEY取得“百度新浪传智播客
var value = data[key];//取得网址
var tr = tableLinks2.insertRow(-1);//创建行,注意这种方法插入行,并同时返回,不用再次加载
var td1 = tr.insertCell(-1);//创建列
td1.innerText = key;
var td2 = tr.insertCell(-1);
td2.innerHTML = "<a href='" + value + "'>" + value + "</a>";
}
}
</script>
</head>
<body>
<table id="tableLinks2">
</table>
<input type="button" value="加载数据2" onclick="LoadData()" />
</body>
</html>
3.点评刷新
<head>
<title>无刷新帖子</title>
function AddComment() {
var nickname = document.getElementById("nickname").value;//取得昵称的值
var comment = document.getElementById("comment").value;//取得品论的值
var tableComment = document.getElementById("tableComment");//获得表格的对象
var tr = document.createElement("tr");//建立一行
var tdNickName = document.createElement("td");//建立一列
tdNickName.innerText = nickname;//给表中的列赋值
tr.appendChild(tdNickName);//将列加载到行中
var tdComment = document.createElement("td");//建立一列
tdComment.innerText = comment;//将品论值给列
tr.appendChild(tdComment);//将列加载到行中
tableComment.tBodies[0].appendChild(tr);//将行赋值到表
//注意.tBodies[0].appendChild(tr)
}
</script>
</head>
<body>
伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、
伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、
伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、
伟大、、、、、、、、伟大、、、、、、、、伟大、、、、、、、、
<p>评论区</p>
<table id="tableComment">
<tbody> <!--注意动态给列赋值时要加tbody-->
<tr><td>猫猫</td><td>板凳</td></tr>
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助