我在我的网站上有一个收件箱部分,用户可以在其中单击主题标题以打开一个窗口并阅读其消息。

我放入了一个javascript函数,该函数突出显示收件箱中的消息,因为它们会移动光标。我已经使高亮显示为可单击的,并且它应该转到与用户单击主题链接相同的位置,并且转到窗口read_message.php时,它未加载消息ID,并且消息不会显示。

这是有效的主题链接:

<?php echo "<strong><a href=\"read_message.php?msg={$inbox['message_id']}\">{$inbox['subject']}</a></strong>"; ?>


和这里的JavaScript与链接不起作用:

<script>
     $(function() {
        $('tr').hover(function() {
            $(this).css('background-color', '#eee');
            $(this).contents('td').css({'border': '0px solid red', 'border-left': 'none', 'border-right': 'none'});
            $(this).contents('td:first').css('border-left', '0px solid red');
            $(this).contents('td:last').css('border-right', '0px solid red');
        },
        function() {
            $(this).css('background-color', '#FFFFFF');
            $(this).contents('td').css('border', 'none');
            $('tr').click(function() {
    document.location = "<?php echo "read_message.php?msg={$inbox[0]}" ?>";
} );
        });
    });
    </script>


希望有人可以让我知道我要去哪里。谢谢。

最佳答案

首先,您应该移动.click()函数,使其不在您的.hover()函数内部-否则,每次将鼠标移出该行时,单击处理程序都会被设置,并且第一次将鼠标移到该行上时,该单击处理程序将不起作用。

完成后,您可以执行以下操作:

$("tr").click(function() {
  location.href = $(this).find("a[href*='read_message.php']").attr("href");
});


(由于我并不真正使用jQuery,因此不能100%地确定.find()语法,但这应该会有所帮助)

关于php - javascript中的链接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13888742/

10-11 22:33
查看更多