<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