XML与Web_5 JAVASCRIPT(二)

多级联动

  • 系统中多级联动操作是重要的应用,其特点是:
    – 与服务器无关,实时更新
    – 无需刷新,无需Ajax
    – 更新速度快
    – 代码选项开放
  • 在 HTML DOM (Document Object Model) 中 , 每一个元素都是节点:
    – 文档是一个文档
    – 所有的HTML元素都是元素节点
    – 所有 HTML 属性都是属性节点
    – 文本插入到 HTML 元素是文本节点
    – 注释是注释节点
属性方法用法
document.activeElement返回当前获取焦点元素
document.body返回文档的body元素
document.addEventListener()向文档添加句柄
document.createElement()创建元素节点
document.createTextNode()创建文本节点
document.write()向文档写 HTML 表达式 或 JavaScript 代码
<!DOCTYPE html>
<html>
<head>
    <script>
        function NewButton() {
            var elt=document.createElement("BUTTON");
            var t=document.createTextNode("CLICK ME");
            elt.appendChild(t);
            document.body.appendChild(elt);
        }
        function NewP() {
            var elt1=document.createElement("P");
            document.body.appendChild(elt1);
            var t1=document.createTextNode("this is a P");
            elt1.appendChild(t1);
            var elt2=document.createElement("Center");
            var t2=document.createTextNode("this is a Center");
            elt2.appendChild(t2);
            elt1.appendChild(elt2);
        }
        function NewSelect() {
            var elt=document.createElement("Select");
            var t=document.createTextNode("this is a Select");
            elt.appendChild(t);
            document.body.appendChild(elt);
            var opt1=document.createElement("Option");
            opt1.innerText = "option1";
            elt.appendChild(opt1);
            var opt2=document.createElement("Option");
            opt2.innerText = "option2";
            elt.appendChild(opt2);
        }
        function NewInput() {
            var elt=document.createElement("Input");
            var t=document.createTextNode("this is a Input");
            elt.appendChild(t);
            document.body.appendChild(elt);
        }
    </script>
</head>
<body>
<p><button onclick="NewButton()">Add a Button</button>
<p><button onclick="NewP()">Add a P</button>
<p><button onclick="NewSelect()">Add a Select</button>
<p><button onclick="NewInput()">Add a Input</button>
</body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<select>
    <option value="A" selected label="Apple">Apple</option>
    <option value="R" label="Raspberry">Raspberry</option>
    <option value="O" label="Orange">Orange</option>
    <option value="C" label="Cabbage">Cabbage</option>
    <option value="E" label="Eggplant">Eggplant</option>
    <option value="P" label="Potato">Potato</option>
    <option value="B" label="Beef">Beef</option>
    <option value="M" label="Mutton">Mutton</option>
    <option value="T" label="Turkey">Turkey</option>
</select>
<p>
    <select  size="5" multiple="true">
        <option value="A" selected label="Apple">Apple</option>
        <option value="R" label="Raspberry">Raspberry</option>
        <option value="O" label="Orange">Orange</option>
        <option value="C" label="Cabbage">Cabbage</option>
        <option value="E" label="Eggplant">Eggplant</option>
        <option value="P" label="Potato">Potato</option>
        <option value="B" label="Beef">Beef</option>
        <option value="M" label="Mutton">Mutton</option>
        <option value="T" label="Turkey">Turkey</option>
    </select>
<p>
    <select>
        <optgroup label="Fruit">
            <option value="A" selected label="Apple">Apple</option>
            <option value="R" label="Raspberry">Raspberry</option>
            <option value="O" label="Orange">Orange</option>
        </optgroup>

        <optgroup label="Vegetable">
            <option value="C" label="Cabbage">Cabbage</option>
            <option value="E" label="Eggplant">Eggplant</option>
            <option value="P" label="Potato">Potato</option>
        </optgroup>

        <optgroup label="Meat">
            <option value="B" label="Beef">Beef</option>
            <option value="M" label="Mutton">Mutton</option>
            <option value="T" label="Turkey">Turkey</option>
        </optgroup>
    </select>
<p>

    <select>
        <option disabled="disabled" value="">--Fruit--</option>
        <option value="A" selected label="Apple">Apple</option>
        <option value="R" label="Raspberry">Raspberry</option>
        <option value="O" label="Orange">Orange</option>
        <option disabled="disabled" value="">--Vegetable--</option>
        <option value="C" label="Cabbage">Cabbage</option>
        <option value="E" label="Eggplant">Eggplant</option>
        <option value="P" label="Potato">Potato</option>
        <option disabled="disabled" value="">--Meat--</option>
        <option value="B" label="Beef">Beef</option>
        <option value="M" label="Mutton">Mutton</option>
        <option value="T" label="Turkey">Turkey</option>
    </select>
</body>
</html>

在这里插入图片描述

区域响应

<img> <map> <area>

img

  • <img>元素中的usmap属性
    – 属性名:usemap
    – 值:#mapname
    – 描述:将图像定义为客户器端图像映射

map

  • 图像映射标签MAP
    – 唯一且必须的属性:mapname,为 image-map 规定的名称
    – <img> 中的 usemap 属性可引用 中的 id 或 name 属性(取决于浏览器)
    – 为了保证兼容性可以同时向
    添加 id 和 name 属性

area

  • 元素
    – 定义图像映射内部的区域(图像映射指的是带有可点击区域的图像)
    元素始终嵌套在元素内部
    – 在 HTML 中, 标签没有结束标签
    – 在 XHTML 中, 标签必须正确地关闭
属性解释
hrefURL规定区域的目标 URL
alttext弹出文本,如果使用 href 属性,则该属性是必需的
shapedefault, rect, circle, poly规定区域的形状
coordscoordinates规定区域的坐标
target_blank,_parent,_self,_top, framename规定在何处打开目标 URL
  • 元素的shape和coords属性
shapeDescriptioncoordsDescription
default全部区域NULL
rect定义矩形区域x1,y1,x2,y2该值规定矩形左上角和右下角的坐标
circ定义圆形区域x,y,radius该值规定圆心的坐标和半径
poly定义多边形区域x1,y1,x2,y2,…,xn,yn该值规定多边形各边的坐标。如果第一个坐标和最后一个坐标不一致,那么为了关闭多边形,浏览器必须添加最后一对坐标
<html>
<head>
    <script>
        function writeText(txt){
            document.getElementById("description").innerHTML=txt;
        }
    </script>
</head>



<body>
<img src ="5-2.png" width ="638" height ="357" alt="Nintendo" usemap="#nintendo" />
<map name="nintendo">
    <area shape ="rect" coords ="270,78,388,259"
          οnmοuseοver="writeText('This is Mario!')"
          href ="https://baike.baidu.com/item/%E9%A9%AC%E9%87%8C%E5%A5%A5/34197" target ="altFrame" alt="Mario" />
    <area shape ="circle" coords ="443,252,30"
          οnmοuseοver="writeText('This is Pikachu!')"
          href ="https://baike.baidu.com/item/%E7%9A%AE%E5%8D%A1%E4%B8%98/931437" target ="altFrame" alt="Pikachu" />
    <area shape ="rect" coords ="458,59,554,182"
          οnmοuseοver="writeText('This is Donkey Kong!')"
          href ="https://baike.baidu.com/item/%E5%A4%A7%E9%87%91%E5%88%9A/4378505" target ="altFrame" alt="Donkey Kong" />
    <area shape ="poly" coords ="392,335,403,169,392,145,416,129,455,200,452,220,396,197,392,335"
          οnmοuseοver="writeText('This is Link!')"
          href ="https://baike.baidu.com/item/%E6%9E%97%E5%85%8B/9336685" target ="altFrame" alt="Link" />
</map>
<p id="description">Mouse over the roles of Nintendo and see the different descriptions.</p>
<iframe src="about:blank" name="altFrame" width="638"></iframe>

</body>
</html>

在这里插入图片描述

正则表达式

  • RegExp修饰符用于执行不区分大小写和全文的搜索
    – i - 修饰符是用来执行不区分大小写的匹配
    – g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)
    – m - 执行多行匹配
  • RegExp对象的方法
    – test():搜索字符串指定的值,根据结果并返回真或假
    – exec():检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
  • 字符串处理正则表达式的方法
    – match():用于匹配字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回字符串中的原始内容
    – search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置
    – replace():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子字符串
<!DOCTYPE html>
<html>
<head>
    <script>
        window.onload=function(){
            var str1 = "Welcome to McKinsey Greater China! We help industry shapers, innovators, and entrepreneurs take their ideas to market faster and generate enduring impact.";
            var patt1 = /we/gi;
            //var patt=/pattern/modifiers;
            //pattern:模式;modifiers:修饰符
            var patt2 = new RegExp("china","i");
            var patt3 = new RegExp("IDEA","i");
            document.write(str1.match(patt1)+"<p>");
            document.write(patt2.exec(str1)+"<p>");
            document.write(patt3.test(str1)+"<p>");
        }
    </script>
</head>
<body>
</body>
</html>


We,We
China

true

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值