我必须将父span隐藏在<a>标签上方,并在其下方显示span。(在<a>标签上单击时)。

我需要使用getParent(),因为它们是另一个相同的<div>重复

我的HTML是

<div class="Test">
  <p class="commentBody">
    <span class="view_more-comment">abcd...
      <a class="view_more_link" href="javascript:void(0);" onclick="$(this).getParent().getNext().style.display='';$(this).getParent().style.display='none';">more</a>
    </span>
    <span class="view_more" style="display: none;">abcdefghijklmnopqrstuvwzyz...
      <a class="view_less_link" onclick="$(this).getParent().getPrevious().style.display='';$(this).getParent().style.display='none';">less</a>
    </span>
  </p>
</div>


当我使用此console时显示错误



有什么方法可以解决这个问题?

最佳答案

getParent()中没有jQuery。使用:

onclick="$(this).parent().prev().show(); $(this).parent().hide();"

Docs



我建议您使用 on来处理事件,而不是内联处理程序

编辑

使用jQuery:
$('.view_less_link').on('click', function() {
    $(this).closest('.commentBody').find('.view_more-comment').show();
    $(this).parent().hide();
});

10-06 11:33