如何在JQuery或Javascript中获取父元素ID

-9 html javascript jquery

单击任何我想要获取父ul标签ID的列表时,我从列表中获得HTML元素的无序列表。

       <ul id="123">
             <li>
               <li>test1</li>
                 <a href="#" onclick="validate()"/>
                </li>
             </li>
              ........
              ........
         </ul>

function validate(){
         var test=$(this).parent().parent().attr('id');
            alert(test);
          }
Run Code Online (Sandbox Code Playgroud)

上面的验证功能测试变量结果应包含ul标记ID,即123。

Car*_*sen 5

第一个问题是您的函数validate()不知道所指的this是什么,因此您需要像那样添加它validate(this)

然后我们可以这样做。

function validate(obj) {
  var test = $(obj).closest("ul").attr('id');
  alert(test);
}
Run Code Online (Sandbox Code Playgroud)

同样,您不应该真正<li>像其他孩子<li>一样使用这种结构。

<ul id="123">
  <li>
    <a href="#" onclick="validate(this)">test1</a>
    <ul id="456">
      <li>
        <a href="#" onclick="validate(this)">test2</a>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

function validate(obj) {
  var test = $(obj).closest("ul").attr('id');
  alert(test);
}
Run Code Online (Sandbox Code Playgroud)
<ul id="123">
  <li>
    <a href="#" onclick="validate(this)">test1</a>
    <ul id="456">
      <li>
        <a href="#" onclick="validate(this)">test2</a>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)