Javascript 从元素中获取下一个类名
我有一个html的示例块: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>
<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
或jQuerynext
方法
this.nextElementSibling.className;
context.next().prop('className');
这是因为代码中的
nextSibling
是一个textNode
节点,它没有className
属性。您应该使用nextElementSibling
或jQuerynext
方法
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') +"'");
});
最后一个仍然显示为“未定义”,但这是意料之中的