javascript - 用nextSibling处理相邻元素的样式问题
大家讲道理
大家讲道理 2017-04-10 16:54:33
[JavaScript讨论组]

希望能用DOM的nextSibling属性设置

元素相邻的下一个

元素的color样式,但是怎么整都没有效果,路过的大侠帮忙看一下,多谢!




     
     


    

Hold the front page

This first paragraph leads you in.

Now you get the nitty-gritty of the story.

Extra! Extra!

Further developments are unfolding.

You can read all about it here.

下面是对应的JavaScript代码...............................

  function xx()
    { var e1=document.getElementsByTagName("h1");
      for(var i=0;i

效果如下图:

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
PHP中文网

1.<meta charset=utf-8" />少写了一个双引号
2.if(node.nextSibling.nodeType=1)这里应该是双等号
3.

{ var e1=document.getElementsByTagName("h1");
    for(var i=0;i<e1.length;i++)
      {e2=nextElement(e1);//这里是循环,所以应该是e1[i]。e1是个对象集合,而不是单个dom节点,你的写法导致了nextElement(node)函数调用失败,因为这个函数的参数是一个dom节点
       e2.style.color="red";}
}
PHP中文网

怎么写的这么复杂,这个明明就可以用css3选择器;

var h1s = document.getElementsByTagName("h1");
for (var i = 0, len = h1s.length; i < len; i++) {
    var nextNode = h1s[i].nextSibling;
    if (nextNode.nodeType !== 1) {
        nextNode = nextNode.nextSibling;
    }
    nextNode.style.color = "red";
    
};
PHP中文网

楼主,你的if(node.nextSibling.nodeType=1),应该是==才对,而=是直接复制了,导致永远不会执行else语句

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号