You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery点击触发页面刷新、hover无法修改CSS问题求助

嘿,我来帮你捋清楚这些问题,你的代码里有几个关键细节没处理对,咱们逐个解决:

问题1:选择器无效 + 点击触发页面刷新

首先,你写的$('abc p')是错误的——因为abc是元素的id,jQuery里id选择器必须以#开头,正确写法是$('#abc p')。

然后关于点击后页面刷新的问题,先看你的HTML代码:最后一个<p>标签没正确闭合(写成了<p>而不是</p>),这会导致DOM结构混乱,引发意外的页面行为,先把这个标签修正。

另外,虽然<p>标签默认点击不会刷新,但为了彻底避免意外,你可以在点击事件里添加event.preventDefault(),明确阻止默认行为。

问题2:鼠标悬停下划线效果

你用$('#abc p').hover().css('text-decoration','underline')的写法不对,hover()方法需要传入两个回调函数:一个处理鼠标进入时的样式,一个处理鼠标离开时的样式。正确的jQuery写法是:

$('#abc p').hover(
  function() { // 鼠标移入
    $(this).css('text-decoration', 'underline');
  },
  function() { // 鼠标移出
    $(this).css('text-decoration', 'none');
  }
);

不过更推荐用CSS实现悬停效果,比jQuery更高效简洁,直接在<head>里加样式:

#abc p:hover {
  text-decoration: underline;
}

问题3:选择器写法错误

你理解的逻辑是对的——要选择id="abc"下的所有<p>元素,但jQuery的id选择器规则是必须以#开头,所以正确的选择器是$('#abc p'),而$('abc p')会被解析成“选择所有<abc>标签下的<p>元素”,这显然不是你要的效果。

修正后的完整代码

把所有问题修复后的代码给你参考:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
/* CSS实现悬停下划线,更高效 */
#abc p:hover {
  text-decoration: underline;
}
</style>
</head>
<body>
<div id="abc">
  TEST PAGE
  <p style="text-decoration:none; cursor:pointer;" id="91">Page 1</p>
  <p style="text-decoration:none; cursor:pointer;" id="75">Page 2</p>
  <p style="text-decoration:none; cursor:pointer;" id="88">Page 3</p> <!-- 修正闭合标签 -->
</div>
<p id="replace">Replace this Text</p>
<script>
$(document).ready(function() {
  // 正确的id选择器绑定点击事件
  $('#abc p').on('click', function(event) {
    // 阻止默认行为,避免意外刷新
    event.preventDefault();
    var id = $(this).attr('id');
    
    $.ajax({
      type: "POST",
      url: 'testAjax2.php',
      data: { "articleID": id },
      success: function(data) {
        $("#replace").html(data);
      }
    });
  });

  /* 如果坚持用jQuery实现hover,就保留这段,否则用CSS即可
  $('#abc p').hover(
    function() {
      $(this).css('text-decoration', 'underline');
    },
    function() {
      $(this).css('text-decoration', 'none');
    }
  );
  */
});
</script>
</body>
</html>

内容的提问来源于stack exchange,提问作者HDer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:12:18