javascript
  • onclick
  • 2011-03-16 118 views 14 likes 
    14

    我想將我的表格行變成使用JS的鏈接。我看起來是這樣的:<tr> onClick不起作用

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

    但是,當我嘗試點擊,它不會去我想要的頁面。實際上,點擊似乎沒有任何操作。

    任何幫助?

    編輯:

    至於報價,我忘了提,我用PHP與此相呼應。這裏是我更新的代碼:

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

    我應該做某種在這種情況下逃脫像/"的?

    回答

    20

    首先,沒有javascript:在事件處理 - 它們包含的JavaScript代碼,而不是一個URL。它只是起作用,因爲javascript:在這種情況下是標籤,因此不是語法錯誤。 除此之外,任何具有適當語法高亮顯示的編輯器都會向您顯示您正在使用HTML屬性和屬性內部的單引號打破引用。

    這裏的固定代碼:

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

    除此之外,內聯事件處理程序是骯髒的。更好地很好使用jQuery將它們附加:

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

    這是一個 「JavaScript的」 問題不是一個jQuery和不能鼓勵。真是一個問題。 – miqbal 2011-03-16 00:32:36

    +8

    @Moses,如果一個工具對工作更好,那麼所要求的工作,通過一切手段提供它。 – 2011-03-16 00:42:44

    +0

    當然我可以鼓勵。看看他的代碼Sennheiser顯然是一個JavaScript初學者,如果他不是在簡單的JS上搞亂,他會寫出更好的JavaScript。 – ThiefMaster 2011-03-16 00:44:12

    1

    如你所知,HTML屬性必須用引號引起來,所以如果你需要內報價屬性需要不同的配對。試試這個:

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

    如果你在一個循環內並且echo'ing東西出來試試看PHP的HEREDOC語法。

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

    編輯:添加HEREDOC

    +0

    我在PHP循環中這樣做,所以我已經有雙引號作爲最外面的引號,其餘都是單引號。 – AKor 2011-03-16 00:30:27

    +0

    請參閱我的編輯上面的答案。 – 2011-03-16 00:31:52

    +0

    $ out。=「」; – miqbal 2011-03-16 00:37:43

    相關問題