JavaScript-DOM操作

1.显示和隐藏文本框(对querySelector的用法,)

<body>
    <inputtype="text"value="手机">
    <script>
        // 1.获取元素
        vartext = document.querySelector('input');
        // 2.注册事件 获得焦点事件 onfocus 
        text.onfocus = function() {
                // console.log('得到了焦点');
                if (this.value === '手机') {
                    this.value = '';
                }
                // 获得焦点需要把文本框里面的文字颜色变黑
                this.style.color = '#333';
            }
            // 3. 注册事件 失去焦点事件 onblur
        text.onblur = function() {
            // console.log('失去了焦点');
            if (this.value === '') {
                this.value = '手机';
            }
            // 失去焦点需要把文本框里面的文字颜色变浅色
            this.style.color = '#999';
        }
    </script>
</body>

2.京东广告的开关(对“getElementById”的用法)

<body>
    <buttonid="switch">开\关</button>
    <imgsrc="img/luman.png"alt=""style="width: 500px;"id="img">
    <script>
        var sw = document.getElementById("switch");
        var img = document.getElementById("img");
        var tmp = 0 ;///设置tmp为一个标志这样可以点击多次,实现两种效果的交互;
        sw.onclick = function() {
            if(tmp === 0){
                img.style.display = 'none';
                tmp=1;
            }
            else{
                img.style.display = 'block';
                tmp =0;
            }
        }
    </script>
</body>

3.下拉菜单(js实现,定义tmp实现一个按钮多种效果)

<body>
    <buttonid="love"><h2>我的爱人</h2></button>
    <div id="menu">
        <a href="www.baidu.com">XXX</a>
        <a href="wwww.baidu.com">YYY</a>
        <a href="www.baidu.com">ZZZ</a>
    </div>
    <script>
        var love = document.getElementById("love");
        varmenu = document.getElementById("menu");
        var  tmp = 1;
        love.onclick = function() {
            if(tmp === 0){
                menu.style.display = 'none';
                tmp=1;
            }
            else{
                menu.style.display = 'block';
                tmp=0;
            }
        }
    </script>
</body>

4.开关灯案例(classname--可以更改元素的类)

<bodyid="day"class="daytime">
    <buttonid="switch">开/关灯</button>
    <script>
        varsw = document.getElementById("switch");
        varday = document.getElementById("day");
        vartmp = 0;
        sw.onclick = function() {
            if(tmp === 0){
                day.className = 'night';
/注意classname的用法
                tmp = 1;
            }
            else{
                day.className = 'daytime';
                tmp = 0;
            }
        }
    </script>
</body>

5.百度换肤(js改变图片的路径,多次引用更加精准定位)

<body>
    <ulclass="baidu">
        <li><imgsrc="images/1.jpg"></li>
        <li><imgsrc="images/2.jpg"></li>
        <li><imgsrc="images/3.jpg"></li>
        <li><imgsrc="images/4.jpg"></li>
    </ul>
    <script>
        // 1. 获取元素 
        varimgs = document.querySelector('.baidu').querySelectorAll('img');
/注意,用多次可以更加精准定位
        // console.log(imgs);
        // 2. 循环注册事件 
        for (vari = 0; i < imgs.length; i++) {
            imgs[i].onclick = function() {
                // this.src 就是我们点击图片的路径   images/2.jpg
                // console.log(this.src);
                // 把这个路径 this.src 给body 就可以了
                document.body.style.backgroundImage = 'url(' + this.src + ')';
///注意这个对路径改变的用法;
            }
        }
    </script>
</body>

6.隔行变色(鼠标经过事件 onmouseover,鼠标离开事件 onmouseout)

this.className = ' '

    <script>
        // 1.获取元素 获取的是 tbody 里面所有的行
        vartrs = document.querySelector('tbody').querySelectorAll('tr');
        // 2. 利用循环绑定注册事件
        for (vari = 0; i < trs.length; i++) {
            // 3. 鼠标经过事件 onmouseover
            trs[i].onmouseover = function() {
                    // console.log(11);
                    this.className = 'bg';
                }
                // 4. 鼠标离开事件 onmouseout
            trs[i].onmouseout = function() {
                this.className = '';
            }
        }
    </script>

7.表单的全选与取消全选(两成循环可定义为同一个变量‘i’,表单中的选项被选中之后checked=‘ture’,var可定义任意类型的变量)

<script>
  // 1. 全选和取消全选做法:  让下面所有复选框的checked属性(选中状态) 跟随 全选按钮即可
  // 获取元素
  var j_cbAll = document.getElementById('j_cbAll'); // 全选按钮
var j_tbs = document.getElementById('j_tb').getElementsByTagName('input'); // 下面所有的复选框
// 注册事件
j_cbAll.onclick = function() {
  // this.checked 它可以得到当前复选框的选中状态如果是true 就是选中,如果是false 就是未选中
  console.log(this.checked);
  for (var i = 0; i < j_tbs.length; i++) {
    j_tbs[i].checked = this.checked;//这里的this指代j_cbAll
  }
}
// 2. 下面复选框需要全部选中, 上面全选才能选中做法: 给下面所有复选框绑定点击事件,每次点击,都要循环查看下面所有的复选框是否有没选中的,如果有一个没选中的, 上面全选就不选中。
for (var i = 0; i < j_tbs.length; i++) {
  j_tbs[i].onclick = function() {
    // flag 控制全选按钮是否选中
    var flag = true;///---------------一定要注意这个变量定义的位置;
    // 每次点击下面的复选框都要循环检查者4个小按钮是否全被选中
    for (var i = 0; i < j_tbs.length; i++) {///两次可以都定义i因为这一层循环在funcion中;
      if (!j_tbs[i].checked) {
        flag = false;
        break; // 退出for循环 这样可以提高执行效率 因为只要有一个没有选中,剩下的就无需循环判断了
      }
    }
    j_cbAll.checked = flag;
  }
}
    </script>

8.getAttribute-获取属性----主要针对自定义属性

element.getAttribute('属性') get得到获取 attribute 属性的意思 我们程序员自己添加的属性我们称为自定义属性 index

setAttribute-设置属性值---主要针对自定义属性

element.setAttribute('属性', '值'); 主要针对于自定义属性

removeAttribute--删除属性值

element.removeAttribute(attributename)------移除属性

<script>
        var div = document.querySelector('div');
        // 1. 获取元素的属性值
        // (1) element.属性
        console.log(div.id);
        //(2) element.getAttribute('属性')  get得到获取 attribute 属性的意思 我们程序员自己添加的属性我们称为自定义属性 index
        console.log(div.getAttribute('id'));
        console.log(div.getAttribute('index'));
        // 2. 设置元素属性值
        // (1) element.属性= '值'
        div.id = 'test
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好想与不像

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值