使用 jquery 获取外部父 UL

Get outter parent UL using jquery

本文关键字:UL 外部 获取 jquery 使用      更新时间:2023-09-26

我正在尝试在最接近/父 ul 中获取特定的 li 元素,但是,我似乎无法让它工作。 仅当div 在 li 元素内时,它才有效。

<ul>
  <li>Test 1</li>
  <li>Test 2</li>
  <li>Test 3</li>
</ul>
<div>
  <a id="a_test" href="#" onclick="Javascript:get_li(this);">Test</a>
</div>
function get_li(oElement) {
  console.log("ul", $(oElement).parent("ul").find("li")[0]);
}

$('#a_test').click(function() {
  var text = $(this).parent().prev('ul').find('li:nth-child(1)').text()
  alert(text)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>Test 1</li>
  <li>Test 2</li>
  <li>Test 3</li>
</ul>
<div>
  <a id="a_test" href="#">Test</a>
</div>

您需要使用 .parent() 到达锚点的父级,然后使用 .prev() 获取 ul,然后使用 .find() 找到 li 元素

你的代码不起作用,因为div不在ul下,所以div不是ul的孩子,而是你的uldiv都是兄弟姐妹。这意味着这两个元素具有相同的父元素。因此,首先找到div的父级,然后找到此父级中的ul。下面是示例

$(oElement).closest('div').parent().find("ul li")[0]