добавить класс в строку таблицы по клику - PullRequest
1 голос
/ 04 сентября 2011

Я хочу добавить класс в строку таблицы по клику:

<tr class="gradeA " onclick="window.location.href='games/BG-1001.php'; obj.className='diagram-popup';" >

...

<!--Another Pop-up for diagram-->
<script src="js/jquery.popupWindow-min.js" ></script> 
<script>
    $('.diagram-popup').popupWindow({centerBrowser:1, height:560, width:1024});
</script>

Как я могу это сделать? Синтаксис obj.className='diagram-popup'; представляется неправильным.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2011

Зачем использовать так много сложностей?

Использование jQuery предоставляет ключевое слово this

Что вы можете использовать так:

<tr class="add">Some thing</tr>

И jquery, как:

$('.add').click(function() {
$(this).addClass('addedclass');
})
0 голосов
/ 04 сентября 2011

Чтобы конкретно ответить на ваш вопрос, используйте this в этом контексте:

<table>
    <tr onclick="this.className='test';alert(this.className);">
        <td>Click me (I will replace the className)</td>
    </tr>
    <tr onclick="this.className+=' test';alert(this.className);">
        <td>Click me to add (I will add to the className, click more than once)</td>
    </tr>
    <tr class="test">
        <td>Click me for jQuery handler (I will only add classes once when clicked more than once)</td>
    </tr>
</table>

$('.test').click(function(){
    $(this).addClass('test'); // Note, will not add the same class more than once
    alert(this.className);
});

http://jsfiddle.net/userdude/NBU8L/

Если вы используете jQuery, я бы избежал встроенных обработчиков и использовал для этого обработчики jQuery:

$('.gradeA').click(function(){
    $(this).addClass('diagram-popup')
           .popupWindow({
               centerBrowser:1,
               height:560,
               width:1024
           });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...