JavaScript-helloWorld

1.写js代码的位置

  由helloWorld.html,helloWorld2.html,helloWorld3.html可知
    >html页面的加载顺序是由上到下的
    >标准的写法是helloWorld.html的写法,window.onload可以使方法是在页面加载完成后才执行的
    >helloWorld2.html中的写法固然简单,但html语句和js代码耦合在了一起
    >helloWorld3.html可知各个位置的区别
    ><script>放在整个页面的最后写又不符合js代码的书写习惯

2.获取节点

节点分为三种:元素节点;属性节点;文本节点

01.获取元素节点(3种方式)
    //只有document有这个方法,并且id要求唯一
    var taobao = document.getElementById("taobao");

    //只有document有这个方法,通过节点的name属性来获取节点
    var qqs = document.getElementsByName("qq1");

    //document和taobao(节点对象)都有这个方法,通过节点标签的名字来获取节点
    var nodes = taobao.getElementsByTagName("br");

02.读写属性节点
    01.
    //通过.的方式来获取和修改节点的属性值
    var attr = document.getElementById("attr");
    alert(attr.value);//获取属性节点的值
    attr.value = "你好";//修改属性节点的值
    02.
    node.getAttributeNode("id");

03.获取子节点的方法
    //得到父节点
    var c1 = document.getElementById("form");
    //通过.childNodes得到所有的子节点
    alert(c1.childNodes.length);
    //通过.firstChild得到第一个子节点
    alert(c1.firstChild.name);
    //通过.lastChild得到最后一个子节点
    alert(c1.lastChild);
    //通过Node对象的getElementsByTagName来获取子节点
    var cc = c1.getElementsByTagName("input");
    alert(cc[0].name);

04.读写文本节点
    文本节点一般是子节点,可以先获取到子节点,然后通过.nodeValue来获取文本内容
        var c2 = document.getElementById("form");
        alert(c2.lastChild.nodeValue);

3.节点的三个属性

    window.onload = function () {
        var btns = document.getElementsByTagName("button");
        //元素节点
        var btn = btns[0];
        alert(btn.nodeType);//1
        alert(btn.nodeName);//BUTTON
        alert(btn.nodeValue);//null
        //文本节点
        var text = btn.firstChild;
        alert(text.nodeType);//3
        alert(text.nodeName);//#text
        alert(text.nodeValue);//点我
        //属性节点
        var att = btns[1].getAttributeNode("name");
        alert(att.nodeType);//2
        alert(att.nodeName);//name
        alert(att.nodeValue);//jyf

    }
    nodeType和nodeName是只读的
    nodeValue是可以修改的
    只有文本节点的nodeValue是常用的

4.操作节点

1.创建元素节点
    document.createElement("");返回值是元素节点的引用,其中的字符串参数为TagName

2.创建文本节点
    document.createTextNode("");返回值是文本节点的引用,其中的字符串参数为文本内容
3.为元素节点添加子节点
    var element = document.createElement("li");
    element.appendChild(document.createTextNode("你好");会作为element节点的最后一个子节点添加<li>你好</li>

4.替换子节点
    bParentNode.replaceChild(aNode2, bNode);//替换子节点,把aNode2替换为bNode
    //replaceChild方法返回原子节点的引用,且新子节点(bNode)从原来的位置被移动到原节点(aNode)的位置
    aParentNode.replaceChild(bNode, aNode);
    若要使两个节点互换,需自己定义方法实现
        function replaceEach (aNode, bNode) {
            var aParentNode = aNode.parentNode;//获取父节点
            var bParentNode = bNode.parentNode;
            var aNode2 = aNode.cloneNode(true);//克隆节点,若参数为true表示带子节点的克隆
            bParentNode.replaceChild(aNode2, bNode);//替换子节点,把aNode2替换为bNode
            //replaceChild方法返回原子节点的引用,且新子节点(bNode)从原来的位置被移动到原节点(aNode)的位置
            aParentNode.replaceChild(bNode, aNode);
        }

5.获取父节点
    var aParentNode = aNode.parentNode;//获取父节点

6.删除节点
    this.parentNode.removeChild(this);返回值为被删除的节点

7.额外
    //将输入框中的内容的开头和结尾去除空格
    var reg = /^\s*|\s*$/g;
    content = content.replace(reg,"");
    document.getElementsByName("content")[0].value = content;
    //若去掉空格后为“”,那就弹出请输入名字
    if(content == "") {
        alert("请输入名字");
        return false;//若这个方法是响应在submit的onclick上面的,那么return false,表单是不会提交的
    }
    //有实验可知,就算不去掉开头和结尾的空格,添加上的开头和结束的空格也会自动去除

5.获取子节点

1.firstChild
2.lastChild
3.getElementsByTagName("");
4.childNodes

Node节点的方法,带括号的在使用时需要带括号,不带括号的直接.就能用

事件后面跟的方法的注意点:

//aNodes[i].onclick = remove3;
//这里写remove3()和remove3是不同的:
//前者表示当节点被点击时响应remove3方法的返回值,所以在页面加载完成后会直接执行remove3方法
//后者不加括号代表的remove3方法应用,会响应时执行方法体,且return false会取消节点的默认响应行为

单选框的注意点:

//若单选框节点被选中那么checked数据就会存在
    if (typeNodes[i].checked) {}

循环体中要注意的点:

        var lis = document.getElementsByTagName("li");
        for (var i = 0; i < lis.length ; i++) {
            /*可以的
            lis[i].onclick = function () {
                alert(this.firstChild.nodeValue);
            }
            */

            //lis[i].onclick = alert("nihao");
            //这样不行,一开始就会先弹出五次nihao。因为这句的意思是将alert方法的结果返回到onclick事件,所以会先执行方法

            /*这样不管点哪一个都是5,因为当点击时循环已经结束了,i就是5
            lis[i].onclick = function () {
                alert(i);
            }
            */

            lis[i].onclick = tanchu;//这样是可以的,因为tanchu是方法的引用

            //lis[i].onclick = tanchu();//这样写不行,同lis[i].onclick = alert("nihao");

            function tanchu () {
                alert(this.firstChild.nodeValue);
            }
        }

注意空白文本节点的存在

时间: 2024-08-10 12:24:59

JavaScript-helloWorld的相关文章

windows下eclipse调试hadoop详解

1)下载Eclipse http://www.eclipse.org/downloads/ Eclipse Standard 4.3.2 64位 2) 下载hadoop版本对应的eclipse插件 我的hadoop是1.0.4,因此下载hadoop-eclipse-plugin-1.0.4.jar 下载地址:http://download.csdn.net/detail/m_star_jy_sy/7376169 3)安装hadoop插件 将hadoop-eclipse-plugin-1.0.4.

Lua(一)——类型与值

lua是一款小巧的脚本语言,是巴西里约热内卢天主教大学里的一个研究小组于1993年开发其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译.运行.lua并没有提供强大的库,这是由它的定位决定的,所以lua不适合作为开发独立应用程序的语言,在游戏开发等领域使用较多. 1. 引子 1.1 保留字 保留字的概念不用多说,lua中的保留字如下21个: and break do else elseif end false fo

给出一个javascript的Helloworld例子

1.基础知识:1)Helloworld: 例 1.1<html><head> <如果你用notepad建立一个txt之后你再改为html,一定在存时,要存成utf-8或unicode格式,或者你也可以用 myeclipse html designer,这样你看的文本是有颜色的,如果觉得字体小,可以在myeclipse html designer下面的窗口里右击鼠标,/preferences/general/editor/text editor.注意在texteditor窗口里

【JavaScript】飞行的HelloWorld

参考: 效果图: 思路: 1.画一个静态的HelloWorld. 2.修改成动态. 代码: 尝试1(卒)

JavaScript的HelloWorld创建

JavaScript JavaScript(简写为JS)是一门世界上最流行的脚步语言. ECMAScript是JavaScript的一个标准,最新版本到es6版本. 但是开发环境和线上环境存在版本不一致的问题. JavaScript的基本使用 1. 创建JavaScript项目 在删除scr文件之前,和普通Java项目一样.     创建一个JavaScript项目        2. 引入JavaScript 有两种方法,方法1:内部标签:方法2:外部引入 2.1 方法1:内部标签 1. 代码

c# Activex开发之HelloWorld

最近需要在Web上使用WinFrom程序,所以要用到Activex技术将WinFrom程序变成插件在Web运行 一.创建用户控件 1.1 新建用户控件项目 1.2 在界面上拉一个label,Text赋值为“HelloWorld” 1.3 加上guid using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnostics; namespace HelloWor

JavaScript 笔记

1,alert(); alert("提示信息"); 换行 + "\n"2,prompt(); ----> 得到的是 string 类型, 可能返回 null 和 "" ; prompt("提示信息"); prompt("提示信息","输入框默认信息");3,confirm(); confirm("确认信息?") //确定返回TRUE,取消返回FALSE 4,Ja

asp.net中javascript与后台c#交互

asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/73793.htm 这篇文章主要介绍了asp.net中javascript与后台c#交互,需要的朋友可以参考下 最近做一个小项目,网页中嵌入google maps,输入经纬度坐标可以定位地图位置并加注标记,点击标记获取远端摄像头数据并在视频窗口实现播放.在实际操作过程中,由于经纬度数据和视频登录的用

探索Javascript 异步编程

在我们日常编码中,需要异步的场景很多,比如读取文件内容.获取远程数据.发送数据到服务端等.因为浏览器环境里Javascript是单线程的,所以异步编程在前端领域尤为重要. 异步的概念 所谓异步,是指当一个过程调用发出后,调用者不能立刻得到结果.实际处理这个调用的过程在完成后,通过状态.通知或者回调来通知调用者. 比如我们写这篇文字时点击发布按钮,我们并不能马上得到文章发布成功或者失败.等待服务器处理,这段时间我们可以做其他的事情,当服务器处理完成后,通知我们是否发布成功. 所谓同步,是指当一个过

ExtJs4.2&mdash;&mdash;HelloWorld

ExtJS为开发者在开发富客户的B/S应用中提供丰富的UI组件,具有统一的主题,便于快速开发,提高效率.但显然它并不适合互联网站的开发. 一.主要目录文件介绍 builds:压缩后的ExtJS代码,体积更小,更快:        docs:开发文档:        examples:官方演示示例:        locale:多国语言资源文件:        pkgs:ExtJS各部分功能的打包文件:        resource:ExtJS所需要的CSS与图片文件:        src:未