<tr> onClick не работает

Я хочу превратить строки таблицы в ссылки с помощью JS. У меня это выглядит так:

<tr onClick='javascript:window.location.href='url';'>

Однако, когда я пытаюсь щелкнуть, он не переходит на страницу, как я хочу. Фактически, щелчок, кажется, не имеет никаких действий.

Любая помощь?

Edit:

Что касается кавычек, я забыл упомянуть, что я повторяю это с помощью PHP. Здесь мой обновленный код:

echo "<tr onClick='window.location.href='url?id=" . $var . "';'></tr>";

Должен ли я делать что-то вроде /" в этом случае?

Ответы

Ответ 1

Прежде всего, no javascript: в обработчиках событий - они содержат код JavaScript, а не URL-адрес. Он просто работает, потому что javascript: является меткой в ​​этом случае и, следовательно, не является синтаксической ошибкой. Кроме того, любой редактор с соответствующей подсветкой синтаксиса показал бы, что вы нарушаете кавычки, когда используете одиночные кавычки для атрибута HTML и внутри атрибута.

Здесь фиксированный код:

<tr onclick="window.location.href = 'url';">

Кроме того, inline обработчики событий загрязнены. Лучше прикрепите их с помощью jQuery:

$('tr').click(function() {
    location.href = 'url';
});

Ответ 2

Как вы знаете, атрибуты HTML должны быть окружены кавычками, поэтому, если вам нужны кавычки в атрибуте, вам нужно другое соединение. Попробуйте следующее:

<tr onClick="window.location.href='url';">

И если вы находитесь внутри цикла и эхо-сигнала, попробуйте синтаксис PHP HEREDOC.

$out = '';
foreach ( $x as $y )
{
$out .= <<<HTML
<tr onClick="window.location.href='url';">
HTML;
}
echo $out;

Изменить: добавлен HEREDOC