如何通过mootools点击哪个nth-child事件

时间:2014-08-20 09:04:31

标签: javascript mootools mootools-events

例如,我已经暂停了代码:

<ul id="agregator-menu">
    <li class="agregator-menu-item"><a href="">News</a></li>
    <li class="agregator-menu-item"><a href="">Reviews</a></li>
    <li class="agregator-menu-item"><a href="">Videos</a></li>
</ul>

在点击事件中,我是否可以通过Mootools获得n-child(1或2或3)?

编辑: 我为错误的问题道歉。可能是这段代码的帮助。

<script type="text/javascript">
    var items = $$('.agregator-menu-item a');
    (items).addEvent('click', function(event) {
        /*here how i can get number of position agregator-menu-item (this) in 
          #agregator-menu  which user clicked 
        */      
    });
</script>

2 个答案:

答案 0 :(得分:1)

请参阅以下代码(也在http://jsfiddle.net/6p5y8vbn/上)

HTML:

<div id="buttons">
    <button>Button 1</button>
    <button>Button 2</button>
    <button>Button 3</button>
    <button>Button 4</button>
</div>

JS:

var btns = $('buttons').getElements('button');

Array.each(btns, function(btn) {
    btn.addEvent('click', function() {
        console.log(btns.indexOf(this));
    });
});

btns.indexOf(this)将显示按钮数组中单击项的索引是什么。 请注意,数组索引从0开始,因此单击的第一个按钮将返回0,第二个按钮1等

答案 1 :(得分:0)

我希望显示contentitemsmenuitems onClick

具有相同的索引

结果:

var menuitems = $$('.agregator-menu-item a');
var contentitems = $$('.agregator-item');

(menuitems).each( function(el, index) {
    el.addEvent('click', function(event) {
        event.stop();
        event.stopPropagation();
        contentitems.setStyle('display', 'none');
        contentitems[index].setStyle('display', 'block');   
    });
});