Javascript <;ul>&书信电报;李>;仅隐藏/显示内部文本不<;i>;图标标签

Javascript <;ul>&书信电报;李>;仅隐藏/显示内部文本不<;i>;图标标签,javascript,jquery,anchor,show-hide,buttonclick,Javascript,Jquery,Anchor,Show Hide,Buttonclick,在jQuery中,我需要隐藏/显示锚定标记的内部文本。 以下是html: <div id="side_bar"> <ul> <li><a href="#"><i class="fa fa-fw fa-cog"></i>General Settings</a></li> <li><a href="#"><i class="fa fa-fw fa-co

在jQuery中,我需要隐藏/显示锚定标记的内部文本。 以下是html:

<div id="side_bar">
  <ul>
    <li><a href="#"><i class="fa  fa-fw fa-cog"></i>General Settings</a></li>
    <li><a href="#"><i class="fa  fa-fw fa-cog"></i>Other Settings</a></li>
    <li><a href="#"><i class="fa  fa-fw fa-user"></i>User</a></li>
  </ul>
</div>
但它不起作用

在控制台中获取此错误::

TypeError: $(...).find(...).contents(...).get(...).nodeValue is null
    $(this).find('a').contents().get(0).nodeValue.hide();
我只需要隐藏show
标记的内部文本,而不是图标。我尝试制作折叠侧边栏菜单


注意
::我不需要将
添加到菜单中。

您可以通过
span
将文本包装起来,并使用简单的选择器,如:

$('#side_bar li a span')
希望这有帮助

$(“#切换显示”)。打开('click',function(){
$('side#u bar li a span')。toggle();
})

切换显示

您可以通过
span
包装文本,并使用简单的选择器,如:

$('#side_bar li a span')
希望这有帮助

$(“#切换显示”)。打开('click',function(){
$('side#u bar li a span')。toggle();
})

切换显示

这里有一个严格基于您现有描述的解决方案

首先是一个按钮,带有一个click事件处理程序,因为您说希望在单击按钮时发生这种情况。其次,您只想隐藏“内部文本”。我认为这意味着您不想隐藏
标记。最简单的方法是将文本放入一个带有类的span中,然后很容易定位-所有
find
内容都完全不需要,您可以使用一个简单的选择器:

<div id="side_bar">
  <ul>
        <li><a href="#"><i class="fa  fa-fw fa-cog"></i><span class="menuText">General Settings</span></a></li>
        <li><a href="#"><i class="fa  fa-fw fa-cog"></i><span class="menuText">Other Settings</span></a></li>
        <li><a href="#"><i class="fa  fa-fw fa-user"></i><span class="menuText">User</span></a></li>
  </ul>
</div>
<button id="myButton" type="button">Click to hide</button>

$(function() {
  $("#myButton").click(function() {
    $("#side_bar li a .menuText").hide();
  });
});

在这里工作:

这里有一个严格基于您现有描述的解决方案

首先是一个按钮,带有一个click事件处理程序,因为您说希望在单击按钮时发生这种情况。其次,您只想隐藏“内部文本”。我认为这意味着您不想隐藏
标记。最简单的方法是将文本放入一个带有类的span中,然后很容易定位-所有
find
内容都完全不需要,您可以使用一个简单的选择器:

<div id="side_bar">
  <ul>
        <li><a href="#"><i class="fa  fa-fw fa-cog"></i><span class="menuText">General Settings</span></a></li>
        <li><a href="#"><i class="fa  fa-fw fa-cog"></i><span class="menuText">Other Settings</span></a></li>
        <li><a href="#"><i class="fa  fa-fw fa-user"></i><span class="menuText">User</span></a></li>
  </ul>
</div>
<button id="myButton" type="button">Click to hide</button>

$(function() {
  $("#myButton").click(function() {
    $("#side_bar li a .menuText").hide();
  });
});

此处工作小提琴:

“不工作”不是错误消息或描述,请详细解释-告诉我们您遇到的任何错误,或者解释您得到的当前结果与预期结果。可能是一种类型,但您的
  • 缺少
    @CarstenLøvboAndersen
    是可选的。什么不起作用?您的jQuery选择器存在问题,因为其中有多个不需要的
    find()
    ,但如果我们不知道您想要实现什么,则很难提出解决方案。请尝试在
    中的
    标记中插入文本,并隐藏该标记“不工作”不是错误消息或说明,请更详细地解释-告诉我们您得到的任何错误,或者解释您得到的当前结果与预期结果。可能是一种类型,但您的
  • 缺少
  • /code>@CarstenLøvboAndersen
  • 是可选的。什么不起作用?您的jQuery选择器存在问题,因为其中有多个不需要的
    find()
    ,但是如果我们不知道您想要实现什么,就很难提出解决方案。请尝试将文本放入
    标记中,然后将该标记隐藏起来