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

使用jQuery实现鼠标悬停切换首个<ul>内容的技术需求

jQuery实现鼠标悬停切换内容

需求说明

页面中第一个<ul>默认显示内容为111,当鼠标悬停在aaa、bbb、ccc上时,该<ul>分别切换显示111、222、333。

修正后的HTML结构

先调整HTML,让第一个<ul>里的<span>默认显示111:

<div>
  <ul>
    <li id="li_box"> <span id="span_Lan">111</span></li>
  </ul>
  <ul id="ul_box">
    <li><a id="lnk1" class="">aaa</a></li>
    <li><a id="lnk2" class="">bbb</a></li>
    <li><a id="lnk3" class="">ccc</a></li>
  </ul>
</div>

jQuery实现代码

以下是简洁的jQuery实现,直接绑定鼠标悬停事件完成内容切换:

// 等待DOM加载完成后执行
$(document).ready(function() {
  // 给目标a标签绑定mouseover事件
  $('#ul_box a').on('mouseover', function() {
    const $targetSpan = $('#span_Lan');
    // 根据当前a标签的ID设置对应内容
    switch($(this).attr('id')) {
      case 'lnk1':
        $targetSpan.text('111');
        break;
      case 'lnk2':
        $targetSpan.text('222');
        break;
      case 'lnk3':
        $targetSpan.text('333');
        break;
    }
  });
});

补充说明

  • jQuery的$(document).ready()确保DOM加载完成后再执行代码,避免出现元素未找到的问题。
  • 对比原生JS,jQuery简化了元素选择和事件绑定的逻辑,无需手动循环遍历子元素。
  • 原原生JS代码存在两处问题:
    1. <span>元素不能用value属性设置内容,应使用textContent或innerHTML;
    2. 最后一个条件判断的ID写错为lnk2,应改为lnk3,否则悬停ccc时无法触发正确逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:05:25