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>

点击时如何获取价值(它是'1')li class="item-1">1</li>?我在定义正确的选择器时遇到问题......如何以这样的方式结束:

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

3 回答 3

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() .. 否则您还会看到父目录中的文本..

试试小提琴

于 2012-10-17T20:48:06.623 回答
0

我已经创建了一些测试的小提琴,我想这可以满足你的需要

这是我所做的:

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

希望这可以帮助。

于 2012-10-17T20:59:27.050 回答
-1
$(".level-1 li").click(function() {
    console.log($(this).val());
});

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

于 2012-10-17T20:46:45.517 回答