Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从元素中获取下一个类名_Javascript_Jquery - Fatal编程技术网

Javascript 从元素中获取下一个类名

Javascript 从元素中获取下一个类名,javascript,jquery,Javascript,Jquery,我有一个html的示例块: <div class="container"> <div class="item first">...</div> <div class="item second">...</div> <div class="item third">...</div> <div class="item fourth">...</div> </div>

我有一个html的示例块:

<div class="container">
  <div class="item first">...</div>
  <div class="item second">...</div>
  <div class="item third">...</div>
  <div class="item fourth">...</div>
</div>
我该怎么做


您可以使用单击的元素上下文和jquery
.next()
在每次迭代中针对下一个元素:

$(".container > .item").each(function(){
  var context = $(this);
  context.text("this is " + $(this).attr('class') + ' next one is ' + $(this).next().attr('class'));
});

您可以使用单击的元素上下文和jquery
.next()
在每次迭代中针对下一个元素:

$(".container > .item").each(function(){
  var context = $(this);
  context.text("this is " + $(this).attr('class') + ' next one is ' + $(this).next().attr('class'));
});

下一个同级是div之间的空白填充文本节点,而不是下一个div


使用或jQuery。

下一个同级是div之间的空白填充文本节点,而不是下一个div

改为使用或jQuery。

您可以使用next()函数: 这是你的电话号码

可以使用next()函数: 这是你的电话号码


这是因为代码中的
nextSibling
是一个
textNode
节点,它没有
className
属性。您应该使用
nextElementSibling
或jQuery
next
方法

this.nextElementSibling.className;
context.next().prop('className');

这是因为代码中的
nextSibling
是一个
textNode
节点,它没有
className
属性。您应该使用
nextElementSibling
或jQuery
next
方法

this.nextElementSibling.className;
context.next().prop('className');
这是你的密码

$(".container > .item").each(function(){
            var context = $(this);
            var nextClassName = $(this).next().attr('class');
            context.text("this is '" + this.className + "' next one is '" + nextClassName +"'");
        });
更新的JS Fiddle

这是您的代码

$(".container > .item").each(function(){
            var context = $(this);
            var nextClassName = $(this).next().attr('class');
            context.text("this is '" + this.className + "' next one is '" + nextClassName +"'");
        });
更新的JS Fiddle

尝试以下操作:

$(".container > .item").each(function(){
        var context = $(this);
        context.text("this is '" + this.className + "' next one is '" + context.next().attr('class') +"'");
    });
最后一个仍然显示为“未定义”,但这是意料之中的…

尝试以下方法:

$(".container > .item").each(function(){
        var context = $(this);
        context.text("this is '" + this.className + "' next one is '" + context.next().attr('class') +"'");
    });
最后一个仍然显示为“未定义”,但这是意料之中的