JavaScript使用setInterval添加和删除节点属性?

图片描述

我想实现每间隔一秒,添加一个id='show'的节点属性,然后添加完一个后把上一个删除,怎么实现了。自己基础有点差,望大神赐教。

阅读 4.4k
6 个回答

原生javascript可以这样写:

var slider = document.getElementById('slider');
setInterval(function(){
    var show = document.createElement('div');
    show.id = 'show';
    show.setAttribute('class','slider-img');
    show.innerHTML = '<img src="images/1.jpg">';
    slider.appendChild(show);
    if(show.previousSibling) {
        show.previousSibling.remove();
    }

},1000);

如果slider标签下面永远只有一个show的话,简单点:

setInterval(function(){
    slider.innerHTML = '<div id="show" class="slider-img"><img src="images/1.jpg"></div>';

},1000);

获取父元素下的所有直接子元素,得到有多少个元素和长度,这样你就可以删除你想要删除的元素

图片描述

@magooup 您好,我想这样为div增加节点属性id='exa'后,然后把上一个id='exa'删除,只留一个id='exa',请问该怎么写呢?是我一开始的思路不对吗?请指教,谢谢!

我觉得是题主思路不对,看题猜测题主做的是轮播图片吧,改变图片不一定非要把外层的节点替换呀,修改图片src属性不就可以了吗?
希望题主把自己想做什么说清楚,大家能够提供给你很多思路的。

新手上路,请多包涵

现在id都可以重复了,另外这样一直加溢出怎么办

直接上 slick. js 这年代哪还需要自己写插件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题