JSFiddle - React, Tailwind, and code Playground

HTML

<ul>
                <li>
                    <a href="#">
                        <input type="checkbox"><span>NODE A</span>
                    </a>
                    <ul>
                        <li>
                            <a href="#">
                                <input type="checkbox"><span>NODE A1</span>
                            </a>
                            <ul></ul>
                        </li>
                        <li>
                            <a href="#">
                                <input type="checkbox"><span>NODE A2</span>
                            </a>
                            <ul></ul>
                        </li>
                        <li>
                            <a href="#">
                                <input type="checkbox"><span>NODE A3</span>
                            </a>
                            <ul>
                                <li>
                                    <a href="#">
                                        <input type="checkbox"><span>NODE A3a</span>
                                    </a>
                                    <ul></ul>
                                </li>
                                <li>
                                    <a href="#">
                                        <input type="checkbox"><span>NODE A3b</span>
                                    </a>
                                    <ul>
                                        <li>
                                            <a href="#">
                                                <input type="checkbox"><span>NODE A3b1</span>
                                            </a>
                                            <ul></ul>
                                        </li>
                                        <li>
                                            <a href="#">
                                                <input type="checkbox"><span>NODE A3b2</span>
                         ...

JavaScript

$("input:checkbox").click(function()
{
	var isChecked = $(this).is(":checked");
	
	//down
	$(this).parent().next().find("input:checkbox").prop("checked", isChecked);

	//up
	$(this).parents("ul").prev("a").find("input:checkbox").prop("checked", function()
	{
		return $(this).parent("a").next("ul").find(":checked").length;
	});
});