单击第n个项目后,如何操作另一个第n个元素
After clicking the nth item, how do I manipulate another nth element?
我正在使用jQuery,并希望将第n个<李>在单击第n个链接后的列表中。
<ul id="targetedArea">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div id="clickedItems">
<a></a>
<a></a>
<a></a>
<a></a>
</div>
我可以单独针对他们,但我知道必须有一种更快的传球方式<a>我点击的元素。
$("#clickedItem a:eq(2)").click(function() {
$("#targetedArea:eq(2)").addClass('active');
return false;
});
干杯,
Steve
这样的东西怎么样:
$('#clickedItems a').click(function() {
// figure out what position this element is in
var n = $('#clickedItems a').index($(this) );
// update the targetedArea
$('#targetedArea li:eq('+n+')').html('updated!');
return false;
});
假设<a>
和<li>
元素之间的关系为1:1,它将更新相应的<li>
我知道这并不能直接回答你的问题,但也许你让它变得更难了。
给A和LI元素中的每个元素一个ID,并制作这些ID,以便您可以从彼此推断它们。一旦点击A,你就会立即知道李的ID,并可以直接引用它。
作为一个副作用,这比任何可能做同样事情的聪明jQuery都更有效率。
我不知道jquery在mootools 中是否有这样的东西
$$('a.clickedItems').addEvent('click', function(e){
e.preventDefault();
$('targetedArea').getChildren()[this.getAllPrevious().length].addClass('selected');
});
$('#clickedItems a').click(function() {
// you probably want to turn off the currently active one
$('#targetedArea li.active').removeClass("active");
// count the links previous to this one and make the corresponding li active
$('#targetedArea li:eq(' + $(this).prevAll('a').length + ')').addClass("active");
// prevent the browser from going to the link
return false;
});
相关文章:
- 操作放置在画布上的元素之间的连接
- 如何操作iframe之外的元素
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 元素未使用当前玩家操作进行更新
- 单击元素两次后执行操作
- toogleClass函数来切换元素类并在事件期间执行某些操作
- Rails-带有单选按钮的表单,带有启用/禁用附加元素的javascript操作
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- 在使用jQuery第二次单击元素类后开始操作
- 如何在创建某个元素时对其进行操作
- 创建一个本地脚本来操作网站中的DOM元素
- 从HTML表单中获取计算得到的JavaScript数据,并将其作为新元素添加到相同的表单操作中以使用PHP保存
- 这是关于Jquery/JS的,如果我改变元素's HTML-我可以对它执行其他Jquery/JS操作吗
- 如何使用 JavaScript 操作 html 按钮元素的“onclick”事件
- 在我的案例中,如何检测点击和操作元素
- 如何使用jquery操作元素,使其与css Selector相匹配"第n种类型”;
- JSON-操作元素
- 使用CSS/jQuery操作元素
- 香草Javascript操作元素的窗口大小调整
- 使用 display 属性操作元素