我正在使用下面的代码来向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')
})
如果有人对如何做到这一点有任何想法,那就太好了!
谢谢-斯科特
答案 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);
,仅查找第一级后代。