为什么所有跨度都被更改而不是一个跨度
Why all the spans are changed instead of one?
我有上一个和下一个按钮:
这是下一个按钮的功能:
var nextFn = function(e)
{
var current = $('.active');
alert(current);
var prev = $('#prev');
pos = $('.active').attr('id');
$("#num").text('(' + pos + '/' + researchPlaces.length + ')');
$(current).next().attr("class", "active");
$(current).attr("class", "passive");
//e.stopPropagation();
};
当我单击"下一步"时,它应该显示下一个跨度。但是,它也显示页面中其他li中的下一个跨度。
<li class="memberElement" style="width: 100%; padding: 10px 0 10px 0; border-bottom: 1px solid #ccc;">
<div class="MemberImageHolder" style="float:left">
<a href="#">
<img class="memberpic" src="picture.php?action=display&contentType=members&id=5&quality=medium" alt="">
</a>
</div>
<div class="memberDetails">
<a href="#!uottawa/members/5/profile">Charles Darwin</a>
<div id="title">Professor</div><div id="unit">
<b>University of Ottawa</b>
</div>
<div id="address">
<a id="prev">Prev </a>
<span id="1" class="active">150 York Street</span>
<span id="2" class="passive">80 Elgin Street</span>
<span id="num" class="passive">(0/2)</span>
<a id="next"> Next</a>
</div>
</div>
<span class="divider"></span>
</li>
这是我的一个李。怎么了?
我认为是因为您的选择器:
$('.active');
此选择器选择所有具有活动类的控件。我猜你在每个li中有一个活动跨度。
要修改类,您应该使用addClass而不是修改属性:
$(current).next().addClass("active");
$(current).removeClass("passive");
这样你就不会失去与你的控制相关的其他类。
编辑:
你可以通过点击链接获得li:
$("#prev").click(function()
{
var li = $(this).closest("li");
var current = $(li).find('.active');
alert(current);
var prev = $('#prev');
pos = $('.active').attr('id');
$("#num").text('(' + pos + '/' + researchPlaces.length + ')');
$(current).next().attr("class", "active");
$(current).attr("class", "passive");
//e.stopPropagation();
});
如果每个类为"address"的div的结构与代码中的一样,您可以尝试:
var current = $(this).parent().find('.active');
相关文章:
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- 为什么window.open不打开一个以变量形式给出的链接
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 为什么这是一个跨域请求
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- 为什么我使用javascript获得了一个无限的for循环
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 为什么Grunt Copy给了我一个'undefined不是函数'警告
- 为什么JS RegEx提取多个值(只有一个匹配)
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 为什么可以't我使用成员方法初始化一个实例
- 为什么我的$http.post返回一个400错误
- 为什么regex只验证字段中的一个字符,而不是所有输入的字符
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- 为什么当我上传文件并点击更多上传另一个文件的第一个删除
- Javascript/web-dev:为什么你需要一个服务器来连接硬件
- 为什么JQueryshow()函数只对带有选择器的一个(而不是所有)元素起作用
- 包括四个.js文件,但只加载了一个??为什么