阿里山QQ

导航

js属性

1.属性的操作方式

    * 1、.表示的意思
    *     元素.属性名
    *     如果属性是单一属性,用点操作符是取不到的,而且还会报错
    *     如果想要用点操作符获取带横杠的属性,那首先要把横杠去掉,然后把横杠后面的第一个字母大写
    * 2、[] 表示的意思
    *     如果属性中带横杠,用[]的方式去操作属性
    *     []既可以操作符合变量命名规则的属性,也可以操作不符合变量命名规则的属性

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="button" id="btn" value="按钮"  style="width: 50px; height: 50px; background: #ff0000;font-size: 20px" />
<script>
    var btn=document.getElementById('btn');
    btn.onclick=function(){
        //alert(btn.type); //button
        //console.log(btn.id);  //btn
        console.log(btn.value);   //按钮

        btn.value='小按钮';   //修改属性
        //console.log(btn.style.font-size);
        console.log(btn.style['font-size']);  //20px

        console.log(btn.style.fontSize);
        console.log(btn['id']);  //btn
        /*
        * font-size   这个属性不能用点直接去获取,因为js不认识横杠
        *
        * */
    }
</script>
</body>
</html>

也就是说,如果属性不是符合命名规则的属性,可以使用[]来获取属性;当然,如果属性符合命名规则,也可以使用[]来获取属性;

 

2.常用属性

2.1 value

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    /*
    *
    * value
    *       表单的值
    *
    * */
    window.onload= function () {
        var btn=document.getElementById('btn');
        var text=document.getElementById('text');
        console.log(btn.value);  //按钮
        console.log(text.value);   //这里是一段文字

        text.value='kaven';
    }
</script>
<input type="button" id="btn" value="按钮" />
<input type="text" name="text" id="text" value="这里是一段文字" />
</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="button" id="btn" value="按钮"  style="width: 50px; height: 50px; background: #ff0000;font-size: 20px" />
<script>
    var btn=document.getElementById('btn');
    btn.onclick=function(){
        //alert(btn.type); //button
        //console.log(btn.id);  //btn
        console.log(btn.value);   //按钮

        btn.value='小按钮';   //修改属性
        //console.log(btn.style.font-size);
        console.log(btn.style['font-size']);  //20px

        console.log(btn.style.fontSize);
        console.log(btn['id']);  //btn
        /*
        * font-size   这个属性不能用点直接去获取,因为js不认识横杠
        *
        * */
    }
</script>
</body>
</html>

 

2.2 innerHTML

*  在给innerHTML设置值的时候,如果这个值里面有html标签,那放到网页中,会把它解析成为一个真正的html标签
*  如果标签对当中有其他的标签,一样会拿得到

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        window.onload= function () {
          var btn=document.getElementById('btn');
            var box=document.getElementById('box');
            btn.onclick= function () {
                console.log(box.innerHTML);
                //设置
                box.innerHTML='<span>kaiven<span/>';
            }
        };
    </script>
    <input type="button" id="btn" value="按钮" />
    <div id="box"><p>标题</p>这里是一段文字</div>
</body>
</html>

 

2.3 classname

        * className
        * 注意:class是js中的一个保留字,它是不允许我们使用的
        *   在获取class的时候,不能使用class,使用className

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div class="kaivon"  id="kaivon"></div>
    <script>
        var kaivon=document.getElementById('kaivon');

        //console.log(kaivon.class);  //undefined
        console.log(kaivon.className);  //kaiven


    </script>
</body>
</html>

 

2.4 href和src

    * href 连接的地址
    * src  图片的地址
    *
    * href与src取到的是绝对地址,不是属性里的值
    * 切记不要拿href与src取到的值去做判断

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    window.onload= function () {
        var pic = document.getElementById('pic');
        var link = document.getElementById('link');
        console.log(pic.src);  //http://localhost:63342/Python_Data_Analyse1/js%E5%AD%A6%E4%B9%A0/11.jpg
        console.log(link.href);  //http://localhost:63342/Python_Data_Analyse1/js%E5%AD%A6%E4%B9%A0/%E5%B8%B8%E7%94%A8%E5%B1%9E%E6%80%A7href_src.html#
    }
</script>
<img id="pic" src="11.jpg"/>
<a href="#" id="link">js</a>
</body>
</html>

 

3.属性操作例子

操作属性可以使用点或者[],使用点操作属性的时候,后面只能跟真正的属性名,不能跟变量名;使用[]操作属性的时候,里面可以放属性名称和变量名,如果放的是属性名,需要加引号,如果放的变量名,不需加引号;

如:box.style['width']=val;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            background: #ff0000;
        }
    </style>

    <script>
        /*
        * 需求:
        *   点击按钮获取输入框里的属性名称与属性值,对div进行设置
        *
        * 分析:
        *     1、获取输入框、按钮、box
        *     2、给按钮添加点击事件
        *     3、获取到输入框里的内容
        *     4、改变box的样式
        * */
        window.onload=function(){
            var text1=document.getElementById('text1');
            var text2=document.getElementById('text2');
            var btn=document.getElementById('btn');
            var box=document.getElementById('box');
            btn.onclick=function(){
                var name=text1.value;
                var val=text2.value;

                console.log(name,val);
                box.style[name]=val;

            };
        };
    </script>
</head>
<body>
    <input type="text" id="text1" value="" />
    <input type="text" id="text2" value="" />
    <input type="button" id="btn" value="按钮" />
    <div id="box"></div>
</body>
</html>

posted on 2017-03-25 19:29  阿里山QQ  阅读(185)  评论(0编辑  收藏  举报