【问题标题】:How can i get id ofparent onclick of child我如何获得孩子的父母 onclick 的 id
【发布时间】:2014-10-22 06:39:38
【问题描述】:

如何在锚点单击时获取列表项的 ID。我想通过 Javascript 警报显示列表项的 ID。这是我的来源:

【问题讨论】:

  • this.parentNode.id; 如果您正确调用myClickFunction 将起作用,即myClickFunction.call(this)
  • @FelixKling .call(this) 是必需的吗?据我所知this 已经是被点击的元素。
  • @IonicăBizău:在 OP 的情况下,this 将是window。只有在事件处理程序内部,this 才会引​​用该元素。但是,myClickFunction 不是事件处理程序,它是事件处理程序调用的。

标签: javascript jquery


【解决方案1】:

由于你使用,所以使用parent()attr()函数:

function myClickFunction(){
   var id = $(this).parent().attr("id");
};

【讨论】:

    【解决方案2】:

    您可以使用.parent().attr()[0].id,如下所示:

    $('.child').on('click', function() {
        var id = $(this).parent()[0].id; //or $(this).parent().attr('id');
    });
    

    最好不要使用内联JS

    $(function() {
        $('ul a').on('click', function() {
            var id = $(this).parent()[0].id; //or $(this).parent().attr('id');
            alert( id );
        });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul>
    <li id="li1"><a>Click1</a></li>
    <li id="li2"><a>Click2</a></li>
    <li id="li3"><a>Click3</a></li>
    </ul>

    【讨论】:

      【解决方案3】:

      使用类似的东西..

      <script>
      function myClickFunction(a){
      var id = a.parentNode.id;
      alert("I just clicked list item: " + id);
      };
      </script>
      </head>
      <body>
      <ul>
      <li id=li1"><a onClick="myClickFunction(this);">Click1</a></li>
      <li id=li2"><a onClick="myClickFunction(this);">Click2</a></li>
      <li id=li3"><a onClick="myClickFunction(this);">Click3</a></li>
      </ul>
      </body>
      </html>
      

      【讨论】:

      • 为什么 OP 应该这样做?他们似乎是初学者,所以我想他们会很感激一些解释。
      • 其实我看过你的解释@FelixKling 所以我觉得如果我提供一些示例代码让他们看看会更好
      猜你喜欢
      • 1970-01-01
      • 2022-11-24
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2018-04-19
      • 1970-01-01
      相关资源
      最近更新 更多