当前位置:  开发笔记 > 编程语言 > 正文

如何使用jquery隐藏父元素?

如何解决《如何使用jquery隐藏父元素?》经验,为你挑选了2个好方法。

假设以下HTML:

  • anchor
  • anchor
  • 和以下Javascript(使用jquery 1.3.2):

    function foo(anchor) {
      alert($(anchor).attr('href'));
    }
    

    我的目标是能够隐藏点击的li,但我无法为它们分配唯一ID.因此,我想通过$(anchor).parent().hide()之类的东西来定位(即识别点击的特定锚点).

    但是,上面的警告返回"undefined",所以对我来说,我甚至没有正确的jquery对象.

    我怎么弄清楚$(锚)是什么对象?特别是,我如何看到它具有什么属性,它有什么类,它是什么HTML元素,等等?



    1> cletus..:

    你不能这样做:

    $(function() {
      $("a.foo").click(function() {
        $(this).parent().hide();
        return false;
      });
    });
    

    有:

  • anchor
  • anchor


  • 2> Eevee..:

    $(...)在jQuery中永远不是一个单独的HTML元素; 它总是一个列表.

    您可以使用.get()转换为常规Javascript列表,或者更好地使用.each():

    $(anchor).each(function() { alert(this) });
    

    这会给你类似的东西[object HTMLAElement].你必须使用for/in完全检查,但.tagName.innerHTML可能是不够好,找出你在哪里.

    我也想$(...).css('outline', '1px solid lime')用来寻找元素.这让他们很难错过,并且很容易与Firebug精确定位.

    附录:我绝对同意上面关于将您的Javascript与HTML分离的答案.不要内联JS.

    推荐阅读
    TXCWB_523
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有