<ul class="header">
<li class="header-text">Head1</li>
<li class="header-text"><a href="#">line11</a></li>
<li class="header-text"><a href="#">line12</a></li>
<li class="header-text"><a href="#">line13</a></li>
<li class="header-text"><a href="#">line14</a></li>
<li class="header-text"><a href="#">line15</a></li>
<ul>
<ul class="header">
<li class="header-text">Head2</li>
<li class="header-text"><a href="#">line21</a></li>
<li class="header-text"><a href="#">line22</a></li>
<li class="header-text"><a href="#">line23</a></li>
<li class="header-text"><a href="#">line24</a></li>
<li class="header-text"><a href="#">line25</a></li>
<ul>
单击“ul”我需要输出为“Head1”或“Head2”而没有别的
答案 0 :(得分:2)
如果我没有错,你希望li
没有a
孩子。
因此请使用:not
和:has
$('li:not(:has(a))')
UL
点击
$('ul').on('click',function(){
var li_wihtout_a = $(this).find('li:not(:has(a))');
console.log(li_wihtout_a);
});
答案 1 :(得分:1)
如果您只想获得第一个孩子的文字,这很容易。
<强> JS 强>
$('.header').click(function () {
alert(this.children[0].innerHTML);
});
我还注意到您尚未正确关闭<ul>
代码。
答案 2 :(得分:1)
使用.closest()
和:eq()
一http://api.jquery.com/eq-selector/ http://api.jquery.com/closest/
的 LIVE DEMO 强>
$('.header li a').click(function( e ) {
e.preventDefault(); // prevent default browser action on anchors
var desiredText = $(this).closest('.header').find('li:eq(0)').text();
alert( desiredText );
} );
答案 3 :(得分:0)
如果您的标记是一致的,如上所述,请使用:first selector