研究 Table DOM对象的属性和方法

【课程】web2.0程序设计
【作业要求】建立一个网页,放置一个 table 元素和一个 Input 按钮,研究 Table DOM对象的属性和方法,用 JavaScript 实现 Table 插入行、删除行、交换两行内容。(仅使用 DOM 原生对象,且适用 IE 和 Chrome)
【参考文档】table dom 参考手册

1.首先按照要求,建立一个网页 Test Table Dom(a table about fruits),假设功能是用来储存一家水果店的账单吧,存有水果店的水果和相应价钱,老板可以增加水果条目,删除水果条目,还能进行排序;

放置一个table元素,为了研究Table Dom的属性和方法,这里我还在table的每一行放置了delete按钮,以及在table下方放置叻insert按钮,还有一个对价格进行升序排序的sort按钮。

<!DOCTYPE html>
<html>
    <head>
        <title>Test Table Dom</title>
        <meta charset="iso-8859-1" />
        <script src="table.js" type="text/javascript"></script>
    </head>
<body>
    <h1 style="text-align:center">A Table About Fruits</h1>
    <table id= "main"  border="1" style="text-align:center">
        <tr>
            <td>Name</td><td>Price($)</td><td>Delete</td>
        </tr>
        <tr>
            <td>apple</td><td>5.00</td><td><input type="button" value="delete" id="delete"></td>
        </tr>
    </table>
    <br>
    New Kind:<input type="text" id="name"> Price:<input type="text" id="price">
    <input type="button" id="insert" value="insert">
    <br>
    <input type="button" id="sort" value="sort">
</body>

初始页面如下:

表格增加行的效果:

表格进行排序的效果:

2.首先要清楚要求原生实现的话,获取元素只有三种方法,

getElementById ,getElementsByName ,getElementsByTagName

而表格主要会用到的增删查的属性和方法是:deleteRow(index)   insertRow(insert)   insertCel[]  lcells[]    rows[]

其中排序我是用自己写的冒泡排序来实现的,要交换两行的时候,我直接访问innerHTML来实现的。

JS代码如下:

window.onload=function() {
    document.getElementById("insert").onclick=Insert;
    document.getElementById("sort").onclick=Sort;
    var arr=document.getElementsByTagName("input");
    for (var i = 0; i < arr.length; i++) {
        if(arr[i].id=="delete")
            arr[i].onclick=Delete;
    }
    var m;
    m += 1;
    m = 0;
};

function Insert() {
    var x = document.getElementById("main").insertRow(-1);
    var y = x.insertCell(-1);
    var z = x.insertCell(-1);
    var w = x.insertCell(-1);
    y.innerHTML=document.getElementById("name").value;
    z.innerHTML=document.getElementById("price").value;
    w.innerHTML = "<input value=‘delete‘ type=‘button‘ id=‘delete‘/>";
    w.children[0].onclick=Delete;
    var m;
    m = 0;
    m++;
}

function Delete() {
    var i =this.parentNode.parentNode.rowIndex;
    document.getElementById("main").deleteRow(i);
}

function Sort() {
    var arr=document.getElementById("main").rows;
    for (var i=0; i <arr.length-1; i++) {
        for (var j=1; j < arr.length-1-i; j++) {
            if (parseInt(arr[j].cells[1].innerHTML) > parseInt(arr[j+1].cells[1].innerHTML)) {
                var tmp1 = arr[j].cells[0].innerHTML;
                var tmp2 = arr[j].cells[1].innerHTML;
                arr[j].cells[0].innerHTML=arr[j+1].cells[0].innerHTML;
                arr[j].cells[1].innerHTML=arr[j+1].cells[1].innerHTML;
                arr[j+1].cells[0].innerHTML=tmp1;
                arr[j+1].cells[1].innerHTML=tmp2;
            }
        }
    }
}

tips:原生JS 要研究HTML Table Dom ,w3的手册就够用叻

时间: 2024-12-08 09:16:50

研究 Table DOM对象的属性和方法的相关文章

HTML DOM对象的属性和方法

HTML DOM对象的属性和方法 HTML DOM 对象有几种类型: 1.Document 类型 在浏览器中,Document 对象表示整个 HTML 文档. 1.1属性 引用文档的子节点 documentElement var html = document.documentElement; //取得对<html>元素的引用 body var body = document.body; //取得对<body>元素的引用 获取文档信息 title 通过 title 属性可以访问当前

HTML DOM对象的属性和方法介绍(原生JS方法)

HTML DOM对象的属性和方法介绍 DOM 是 Document Object Model(文档对象模型)的缩写. DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口),它允许程序和脚本动态地访问和更新文档的内容,结构和样式. W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTML DOM - 针对 HTML 文档的标准模型 HTML DOM 定义了所有 HTML 元

js Dom对象的属性与方法

1.对象集合: (1).all[]; (2).images[]; (3).anchors[]; (4).forms[]; (5).links[]; 2.属性: document.cookie;设置或返回当前文档有关的所有cookie document.title;返回当前文档的标题 document.domain:返回当前文档的域名 document.URL;返回当前文档的URL document.referrer 如果当前文档不是通过超级链接访问的,则为 null 这个属性允许客户端 Java

&lt;JavaScript&gt; 六. window对象的属性和方法

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <script type="text/javascript"> 6 /* 7 BOM: Browser Object Model 浏览器对象模型 8 提供了访问和操作浏览器各组件的方式 9 10 window: 浏览器窗口 JS中最大的对象, 其它对象都是它的子对象 11 location: 地址栏 12

jQuery事件对象的属性和方法

jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(

AJAX入门--- XMLHttpRequest对象的属性和方法

由于刚刚接触到Ajax对其比较陌生,而其中的XMLHttpRequest对象更是未曾听闻.开始学之前,了解一下它的属性和方法为它的使用做下铺垫.本文重点介绍XMLHttpRequest的属性和方法. XMLHttpRequest对象的属性和事件 属性 描述 readyState 表示XMLHttpRequest对象的状态[1] responseText 包含客户端接收到的HTTP相应的文本内容[2] responseXML 服务器响应的XML内容对应的DOM对象[3] status 服务器返回h

关于JavaScript的对象,属性,方法的一些理解和认识。

对象      万物皆对象,所谓的对象,就是一个实体,一个物体,对象一定是有一个名字的, 在JavaScript中有很多很多对象,这些对象天生就存在在JavaScript中,比如document就是一个对象,window也是对象.     JavaScript想调用一个对象,非常的简单,直接打它的名字即可.     在JavaScript中,每个对象是负责不一样的事情.    document负责一切和文档相关的事情:window负责一切和浏览器窗口相关的事情:console负责一切和控制台相关

Javascript常用对象的属性和方法

javascript为我们提供了一些非常有用的常用内部对象和方法.用户不需要用脚本来实现这些功能.这正是基于对象编程的真正目的. 在javascript提供了string(字符串).math(数值计算)和Date(日期)三种对象和其它一些相关的方法.从而为编程人员快速开发强大的脚本程序提供了非常有利的条件. 1.常用内部对象 在javascript中对于对象属性与方法的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例:而另一种对象则在引用它的对象或方法是

Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量

Objective-C语言介绍 . Objc与C语言 . 面向对象编程 . 类和对象 . 属性和方法 . 属性和实例变量 1 第一个OC控制台程序 1.1 问题 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序.其运行于苹果公司的Mac操作系统下. 本案例要求使用集成开发工具Xcode编写OC的HelloWorld程序,在Xcode的控制台中, 1.2 方案 首先,启动集成开发工具Xcode. 然后,创建OC语言的工程. 最后,运行所创建的工