javascript的一些小知识2

在无序列表末尾添加节点

实现效果:
在页面上显示一个无序列表
在列表下方有一个按钮,通过点击按钮,使得无序列表的表项增加
实现代码

<html>
    <head>
        <title>
            hello world
        </title>
    </head>
    <body>
        <ul id="zz">
            <li>hello 1</li>
            <li>hello 2</li>
            <li>hello 3</li>
            <li>hello 4</li>
        </ul>
        <br>
        <input type="button" value="add" onclick="add1();">

        <script type="text/javascript">
        var n=4;
        function add1()
        {
            n++;
            var z=document.getElementById("zz");
            var li1=document.createElement("li");
            var text1=document.createTextNode("hello "+n);

            li1.appendChild(text1);
            z.appendChild(li1);
        }
    </script>
    </body>

</html>

重点项:
1.var z=document.getElementById(“zz”);
通过getElementById函数获得id属性为zz的ul对象。

2.var li1=document.createElement(“li”);
通过createElement函数创建一个li类型的对象并赋值给li1变量。

3.var text1=document.createTextNode(“hello “+n);
通过createTextNode函数创建一个文本节点对象,文本内容为hello+n
,并赋值给text1变量。

4.li1.appendChild(text1);
通过appendChild函数将text1加入到li1中,下面的那行代码意义与这个一样。



element对象

1.设置,获取和删除一个标签的属性值
首先获取标签对象
var x=document.getElementByid(“标签的id属性值”);
x.setAttribute(“属性名”,”设置的值”);
x.getAttribute(“属性名”);
x.removeAttribute(“属性名”);(不能删除value属性)

例如

<input type="text" value="hello" id="hello"/>
<script>
var x=document.getElementByid("hello");
alert(x.getAttribute("value"));
x.setAttribute("value","world");
alert(x.getAttribute("value"));


<!--另一种访问方式(比较常用)-->
alert(x.value);
</script>



2.获取一个标签下的子标签
1.使用属性childNodes 浏览器兼容性差
2.使用getElementsByTagName方法,唯一有效的方式
示例

<ul id="ul1">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
<script>
    var x=document.getElementById("ul1");
    var list1=x.childNodes;
    alert(list1.length);<!--在不同的浏览器中可能会出现不同的值-->

    var list2=x.getElementByTagName("li");
    alert(list2.length);<!--唯一有效的访问子标签的方法-->
</script>




Node对象

属性
nodeType
nodeName
nodeValue
示例

<html>
    <head>
        <title>
            hello world
        </title>
    </head>
    <body>

        <span id="hello">hello world</span>

        <script type="text/javascript">
            var z=document.getElementById("hello");

            //.......
            alert(z.nodeType);// 1
            alert(z.nodeName);// SPAN
            alert(z.nodeValue);//null

            //.......
            var x=z.getAttributeNode("id");
            alert(x.nodeType);// 2
            alert(x.nodeName);// id
            alert(x.nodeValue);//hello          

            //.......
            var y=z.firstChild;
            alert(y.nodeType);// 3
            alert(y.nodeName);// #text
            alert(y.nodeValue);//hello world            

    </script>
    </body>

</html>



父节点,子节点,同辈节点
parentNode父节点
childNode子节点
fistChild第一个子节点
lastChild最后一个子节点
nextSibling下一个节点
previousSibling 上一个节点



操作dom树
appendchild
添加子节点到末尾
特点:类似于剪切黏贴的效果

insertBefore(newNode,oldNode)
在oldNode节点前插入newNode节点

removeChild
删除子节点

replaceChild(newNode,oldNode)
替换子节点

cloneNode(true);
复制内容使用方法

<ul id="ul1">
    <li>...</li>
</ul>
<div id="div1">
</div>
var ul1=document.getElementById("ul1");
var x=ul1.cloneNode(true);

var div1=document.getElementById("div1");
div1.apendChild(x);

把无序列表的内容复制到了div中



innerHTML属性

作用:
1.获取文本内容
2.向标签里面设置内容(可以是html代码)

1.

<span id="xxx">hello world</span>

<script type="text/javascript">
    var x=document.ElementById("xxx");
    alert(x.innerHTML);
</script>

2.

<div id="xxx">
</div>
<script type="text/javascript">
    var x=document.ElementById("xxx");
    x.innerHTML="<h1>hello world</h1>"
</script>




使用JS提交form表单

代码

<html>
    <head>
        <title>
            hello world
        </title>
    </head>
    <body>

        <form id="form1">
            <input type="text" name="name"/>
            <input type="button" onclick="data1();" value="sure"/>
        </form>

        </div>

        <script type="text/javascript">

            function data1()
            {
                var form1=document.getElementById("form1");

                form1.action="4-1.html";
                form1.submit();
            }
    </script>
    </body>

</html>



超链接方式

<a herf="目标网页?name属性值=要传输的值">点击传递信息</a>




事件

onclick()点击事件
onchange()改变内容事件(select)
onfocus得到焦点(鼠标点击)
onblur失去焦点(鼠标点击外部)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值