Javascript 从给定的 Javascript 对象参数访问嵌套的 HTML 元素

标签 javascript html onmouseover

我正在尝试编写一个小脚本,当鼠标移过/移出 div 时,它会自动显示/隐藏 div 的内容。我想做的是让标题可见,当有人将鼠标悬停在标题上时,更多文本可见。

问题是我只想显示/隐藏任何给定元素的特定内部 div,而不是隐藏整个元素。我确实有很多元素,因此为每个元素手写 javascript 有点愚蠢

我的 HTML 代码如下:

<li id="job1" onmouseover ="div2mouseover(this)"  onmouseout="div2mouseout(this)">
    <div style = "display:none" id="jobDescription">
        <p> Blablabla</p>
     </div>
<li>

我的 JavaScript 代码如下:

<script type="text/javascript">

   function div2mouseover(obj) 
   {
        //obj.style.display = "none"; //I can reach that
        obj.getElementById("jobDescription").style.display = "initial"; //I can't reach that
   }
 </script>

因此,使用 obj.style.display 我可以编辑任何给定元素的可见性,但我无法到达我想要到达的内部 div。

我已经成功地为这样的单个元素做到了这一点:

document.getElementById("jobDescription").style.display = "initial";

但是通过这种方式,我必须为我的所有工作元素编写一个脚本,这些元素很多。 有什么建议吗??

最佳答案

您也可以通过元素的位置来引用元素。

例如,如果您要显示的 div 始终是“hover”li 内的第一个 div,您可以这样做

function div2mouseover(obj) {
  var div = obj.getElementsByTagName("div")[0];
  div.style.display = "initial";
}

如果你这样做,你就不需要在 div 中添加任何 ID。

关于Javascript 从给定的 Javascript 对象参数访问嵌套的 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24857829/

相关文章:

javascript - jQuery 更改不匹配项的不透明度

php - 使用 html 表单通过 php 发布大量文本数据时出错

javascript - 根据<select>动态更改<label>的文本

javascript - 当光标离开子元素悬停父元素时,如何防止父元素的鼠标悬停?

javascript - 自定义 jQuery 不适用于 Wordpress Ninja Forms 插件

javascript - 需要帮助制作 HTML 标签页

javascript - xlxs.js "l"单元格超链接对象选项如何工作

javascript - 尝试在 Chrome 中加载仪表板页面时避免使用 document.write()

javascript - Onmouseover 事件在非预期时触发

javascript - 如何让 onmouseover 交换事件保持到 onmouseout 直到下一个 onmouseover 事件?