2012-10-17 209 views
0

的选择值我有嵌套元素:嵌套元素

<ul class="level-1"> 
    <li class="item-i">I</li> 
    <li class="item-ii">II 
    <ul class="level-2"> 
     <li class="item-a">A</li> 
     <li class="item-b">B 
     <ul class="level-3"> 
      <li class="item-1">1</li> 
      <li class="item-2">2</li> 
      <li class="item-3">3</li> 
     </ul> 
     </li> 
     <li class="item-c">C</li> 
    </ul> 
    </li> 
    <li class="item-iii">III</li> 
</ul> 

如何获得价值从li class="item-1">1</li>(它的“1”),点击时?我有一个定义权选择...如何像这样的东西最终问题:

$(all children of level-1).click(function() { 
    alert($(this.item-1").val();); 
} 

回答

3

试试这个

$(this).text()$(this).html()

.val()是用于输入字段..所以你不能访问你寻求使用.val()

$('.level-1 li').on('click', function(e) { 

    alert($(this).contents().filter(function() { 
     return this.nodeType == 3 
    }).text()); 
    e.stopPropagation(); 
}); 

不要忘记e.stoppropagation() ..否则,你还会看到父李中的文本..

Try FIDDLE

+1

点击'II',你会看到一个bug :) –

+0

@ZoltanToth .. true。大声笑...错过了..将在该工作 –

+0

@ZoltanToth ..修复它..检查帖子 –

0

数据我已经创建了一个fiddle一些测试,我想这供应你的需要

这是我做的:

$('.level-3').children('.item-1').css('color', 'red');​ 

希望这会有所帮助。