javascript中的引用子元素

时间:2019-03-14 09:00:30

标签: javascript html css

我正在使用下面的代码来向li项目添加类。

JavaScript

$(document).on('click', '.sidenav .page_item_has_children', function({
    $(this).addClass('side_open').siblings.removeClass('side_open')
})

如您所见,它指的是被单击的元素,在本例中为li。我需要将其应用于li的child元素(即ul),以便下拉列表可以显示。我认为我基本上需要遵循以下内容,但是我无法解决。

$(document).on('click', '.sidenav .page_item_has_children', function({
    $(child).addClass('side_open').siblings.removeClass('side_open')
})

如果有人对如何做到这一点有任何想法,那就太好了!

谢谢-斯科特

1 个答案:

答案 0 :(得分:0)

使用jQuery,您可以尝试jQuery(this).find('ul')jQuery(this).children('ul');

另请参阅:How to get the children of the $(this) selector?

使用$(this).find('ul');返回被引用的ul的所有后代li或返回$(this).children('ul')的所有$arr = [ [ 'web_id' => 5, 'attendance_data' => '[{"id":"61","web_student_name":"Child One","attendance":false,"image":"img/reduser.png","$$hashKey":"object:361"},{"id":"62","web_student_name":"Child Two","attendance":true,"image":"img/greenuser.png","$$hashKey":"object:362"}]', 'class_id' => 20, 'date' => '2019-03-11', 'user' => 'A:5', 'created_date' => '2019-03-11 03:54:50', 'updated_date' => '2019-03-11 05:53:50' ], [ 'web_id' => 6, 'attendance_data' => '[{"id":"61","web_student_name":"Child One","attendance":false,"image":"img\/reduser.png","$$hashKey":"object:361"}]', 'class_id' => 20, 'date' => '2019-03-08', 'user' => 'A:5', 'created_date' => '2019-03-11 05:53:27', 'updated_date' => '2019-03-11 05:53:27' ] ]; foreach($arr as &$a) { $json = json_decode($a['attendance_data']); foreach( $json as $ix => &$j ) { if ( isset($j->id) && $j->id != 61 ) { unset($json[$ix]); } } $a['attendance_data'] = json_encode($json); } print_r($arr); ,仅查找第一级后代。