javascript - 如何获取此元素的文本而不是子元素

标签 javascript jquery css

当我将鼠标悬停在topblock上时,我只想隐藏文本First Text,使用(opacity:0)。

<div class="topblock">
   First Text
   <div class="block">
      Inner Text
   </div>
</div>

但是当我使用下面的 jQuery 代码时,我也得到了子 DIV 文本 First Text Inner Text

$(".topblock").on("mouseenter",function(){
    console.log($(this).text());
    $(this).css({"opacity":"0"})
}).on("mouseleave",function(){

});

最佳答案

要在不修改 HTML 结构的情况下完成所需的操作将异常困难,因为您需要修改直接保存 First text 值的 textNode

相反,只需修改 HTML 将该文本包装在另一个元素(例如 span)中,然后在该元素上执行操作就会简单得多。试试这个:

<div class="topblock">
   <span>First Text</span>
   <div class="block">
      Inner Text
   </div>
</div>
$(".topblock").on("hover",function(){
    $(this).find('span').toggle();
});

关于javascript - 如何获取此元素的文本而不是子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552111/

相关文章:

html - 获取一个文本框以填充其容器 div 宽度的 100%

html - 在 float div 上垂直居中对齐。容器有最小高度

javascript - typescript 通配符将所有模块名称导入当前命名空间?

javascript - 事件委托(delegate)和 jQuery load()

html - 在 Shiny R 中,如何在 Logo 前面而不是在其下方显示标题

javascript - 使用 jQuery 的 .load() 加载页面片段,但替换正文中的所有内容

asp.net - 将自动完成方法放在单独的 Web 文件中?

Javascript 构造函数创建对象与常规对象

javascript - 使用 .live() 使 jQuery 插件影响通过 Ajax 添加的新元素

javascript - 在 jQuery 中将表单类更改为文件上传