js基础_DOM练习


取消超链接的默认行为

点击超链接后,超链接会跳转页面,这个是超链接的默认行为,但是此时我们不希望出现默认行为,可以通过在响应函数的最后return false来取消默认行为。
比如:

window.onload=function(){
                //获取a标签
                var mya=document.getElementById("mya");
                //在超链接标签的单击响应函数里取消超链接的默认行为
                mya.onclick=function(){
                    return false;
                }
}

或者,直接在href里写javascritp:;
如图:

练习:


    
        
        
        
        
    
    
        
Name Email Salary  
Tom tom@tom.com 5000 Delete
Jerry jerry@sohu.com 8000 Delete
Bob bob@tom.com 10000 Delete

添加新员工

name:
email:
salary:

css样式如下:

@CHARSET "UTF-8";
#total {
    width: 450px;
    margin-left: auto;
    margin-right: auto;
}
ul {
    list-style-type: none;
}
li {
    border-style: solid;
    border-width: 1px;
    padding: 5px;
    margin: 5px;
    background-color: #99ff99;
    float: left;
}
.inner {
    width: 400px;
    border-style: solid;
    border-width: 1px;
    margin: 10px;
    padding: 10px;
    float: left;
}
#employeeTable {
    border-spacing: 1px;
    background-color: black;
    margin: 80px auto 10px auto;
}
th,td {
    background-color: white;
}
#formDiv {
    width: 250px;
    border-style: solid;
    border-width: 1px;
    margin: 50px auto 10px auto;
    padding: 10px;
}
#formDiv input {
    width: 100%;
}
.word {
    width: 40px;
}
.inp {
    width: 200px;
}

a索引的问题

当body不变,将scrijpt改成如下时:


输出结果为3
在这里,for循环会在页面加载完成后立即执行,而响应函数会在超链接被点击时才执行,当响应函数执行时,for循环早已执行完毕。

所以,这里alist[i].parentNode.parentNode找不到,因为这时候i已经变成了3了,所以输出alist[i]为undefined,而alist[0]——alist[2]都能找到a标签。
而this.parentNode.parentNode能找到,因为this就是这个a标签

比如:


相关