JavaScript基础插曲—获取标签,插入元素,操作样式

简介: JavaScript基础插曲—获取标签,插入元素,操作样式

Js基础



1:document.write()



这个是动态创建元素内容,利用js。这个可以利用js来创建元素,文本,标签等,document.write()与document.writeln()的区别就在于writeln()输出内容后,会在源代码中换一行,而write()会紧挨着输出不会有任何换行。这个标签必须随页面一同加载显示。  



在一个网页中引用其它网页可以使用js的document.write(html代码),这样子生成。



2:最基本的dom遍历属性



àdocument.getElementById()


根据元素id获取元素,使用这个,不是集合,是单个的元素。



àdocument.getElementsByName()


但是这个特殊,根据元素的name获取元素,这个放回的是对象数组,和下面获取到的是集合只有上面的获取到的是单个的元素。在表单元素的时候使用最好。



à document.getElementsByTagName()


这个也是获取元素,根据页面上标签的名字获取所有的元素,获取到的是个集合。



Eg:按钮实现里面内容变化

    <script type="text/javascript">
        window.onload = function() {
            var inputs = document.getElementsByTagName('input');
            for (var i = 0; i < inputs.length; i++) {
                inputs[i].onclick = function () {
                    for (var c = 0; c < inputs.length; c++) {
                        if(inputs[c].type=="button") {
                            inputs[c].value = '哈哈哈';
                        }
                    }
                    this.value = '呜呜';
                };
            }
        };
    </script>


Eg:利用计时器实现使用说明的等待时间。

    <script type="text/javascript">
        window.onload = function () {
            var ss = 4;
            //这里启动计时器
               var time=setInterval(function() {
                   var sa = document.getElementById('btn1');
                   if (ss > 0) {
                       sa.value = '请稍等几分钟' + ss + '';
                       ss--;
                   } else {
                       sa.value = '同意';
                       sa.disabled = false;
                       clearInterval(time);
                   }
               }, 1000);
        };
    </script>


àdocument.createElement('标签名');

    <script type="text/javascript">
        window.onload = function() {
            document.getElementById('btn').onclick = function() {
                var alink = document.createElement('a'); //动态创建元素
                alink.href = 'http://www.baidu.com';
                alink.target = '_black';
                alink.innerText = '百度';
                document.getElementById('div1').appendChild(alink); //将其添加到div中.
                var btton = document.createElement('input');
                btton.type = 'text';
                document.getElementById('div1').appendChild(btton);
            };
        };
    </script>


删除层中元素

    document.getElementById('btn1').onclick = function() {
        var sss = document.getElementById('div1');
        while (sss.firstChild) {
            sss.removeChild(sss.firstChild);
        }
    };

***:在程序中需要判断类型,我们可以利用typeof()来得到其变量的类型。


innerText.和innerHTML的区别


这个就是

679140-20160127170719145-1858369504.png



Eg:往table中添加内容。


下面的dict格式是json的格式,也是一种键值对的形式。


    <title></title>
    <script type="text/javascript">
        var dict = {
            '百度': 'http://www.baidu.com',
            '京东': 'http://www.jd.com',
            '淘宝': 'http://www.taobao.com',
        };
        window.onload = function() {
            document.getElementById('btn').onclick = function() {
                var table = document.createElement('table');
                table.border = '1';
                table.backgroundColor = 'red';
                for (var key in dict) {
                    var tr = document.createElement('tr');
                    var td1 = document.createElement('td');
                    td1.innerHTML = key;
                    var td2 = document.createElement('td');
                    td2.innerHTML = '<a href="' + dict[key] + '">' + key + '</a>';
                    tr.appendChild(td1);
                    tr.appendChild(td2);
                    table.appendChild(tr);
                }
                document.body.appendChild(table);
            };
        };
    </script>


Js操作样式


注意:


修改元素的样式不是设置class属性,而是className属性。class是js中的一个保留字,属性不能使用关键字,保留字就变为了classname。


使用方式,属性名.style,注意这里的属性名可能和css中的名字不一样,我们要注意区分。


    <script type="text/javascript">
        window.onload = function() {
            document.getElementById('btn').onclick = function() {
                var div = document.getElementById('div').style;
                div.backgroundColor = 'red';
                div.border = '1px solid blue';
                div.width = '200px';
                div.height = '400px';
                div.fontFamily = '楷体';
                div.styleFloat = 'right';
            };
            document.getElementById('btn1').onclick = function() {
                document.getElementById('div').style.display = 'none';
            };
        };
    </script>


目录
相关文章
|
1月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
1月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
2月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
80 4
|
2月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
46 4
|
2月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
66 1
|
3月前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
28 2
|
2月前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
146 0
|
2月前
|
移动开发 前端开发 JavaScript
JavaScript 中的样式切换方法
JavaScript 中的样式切换方法
17 0
|
3月前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
3月前
|
JavaScript 前端开发
JavaScript从二维数组抽取若干元素组成新二维数组
JavaScript从二维数组抽取若干元素组成新二维数组