Получить индекс по нажатой строке индекса - PullRequest
0 голосов
/ 31 июля 2011

Я новичок в mootools, но у меня есть хорошие знания по jQuery,
Я пытаюсь получить индекс клика.
Вот мой HTML-код ..

<table>
    <tr><td>One</td><td>Two</td><td>Three</td></tr>
    <tr><td>Four</td><td>Five</td><td>Six</td></tr>
    <tr><td>Seven</td><td>Eight</td><td>Nine</td></tr>
    <tr><td>Ten</td><td>Eleven</td><td>Twelve</td></tr>
</table>

Иниже приведен мой код Mootools,

 $$('TABLE TBODY TR TD').addEvent('click',function(el)
                             {
                                 alert($(this).index());
                             });

Кажется, код неправильный. Пожалуйста, кто-нибудь, дайте мне знать nay-функции, чтобы получить свойства элементов.

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

Прежде всего, $(this) внутри обратного вызова - это jQuery. В mootools, чтобы получить индекс текущей строки, вы можете получить коллекцию строк , , повторить их и прикрепить событие click ко всем дочерним элементам td:

$$('table tr').each(function(row, index){ //row is the current tr, index is fairly self-explanatory :P

    //for each row, get its td children, attach the click event, and alert the 'index' (the number of the row)

    row.getElements('td').addEvent('click',function(){
        alert(index);
    });

    //or, if you just want to know the index of the row without doing something with each td, just attach the click event to the row        

});

демо: http://jsfiddle.net/steweb/UN5jd/

РЕДАКТИРОВАТЬ : чтобы получить индексы td, вы можете сделать что-то вроде этого:

$$('table tr').each(function(row, index){
    row.getElements('td').each(function(column, i){
        column.addEvent('click',function(){
            alert("Row: " + index + " --- " + "Column: "+i);
        });
    });
});

demo2: http://jsfiddle.net/steweb/UN5jd/2/

0 голосов
/ 03 августа 2011

Вот более чистый способ:

$$('table tr td').addEvent('click', function(e){
    var index = this.getParent('tr').getElements('td').indexOf(this);
    console.log(index);
});

Рабочий пример: http://jsfiddle.net/kt9aN/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...