选择嵌套元素的值

时间:2012-10-17 20:44:55

标签: jquery

我有嵌套元素:

<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 个答案:

答案 0 :(得分: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 :(得分:0)

我已经创建了fiddle并进行了一些测试,我想这可以满足您的需求

这是我做的:

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

希望这有帮助。

答案 2 :(得分:-1)

$(".level-1 li").click(function() {
    console.log($(this).val());
});

请阅读jQuery事件和选择器: http://docs.jquery.com/Main_Page