onClick不工作

时间:2011-03-16 00:23:04

标签: javascript onclick

我想使用JS将表格行转换为链接。我看起来像这样:

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

然而,当我尝试点击时,它不会按我的意愿去页面。实际上,点击似乎没有任何动作。

任何帮助?

修改

至于引号,我忘了提到我用PHP回应这个问题。这是我更新的代码:

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

在这种情况下,我应该像/"那样进行某种转义吗?

2 个答案:

答案 0 :(得分:22)

首先, 在事件处理程序中没有javascript: - 它们包含JavaScript代码,而不是URL。它只是工作,因为javascript:在这种情况下是一个标签,因此不是语法错误。 除此之外,任何具有正确语法突出显示的编辑器都会向您显示您正在打破引用,因为您使用HTML属性的单引号和属性内部。

这是固定代码:

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

除此之外,内联事件处理程序很脏。使用jQuery更好地附加它们:

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

答案 1 :(得分:1)

如您所知,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