Я пытаюсь понять это, но для жизни меня я смущен. У меня есть это:Clickable li, но другой не доступен для просмотра
<!-- Sidebar Menu -->
<ul class="sidebar-menu">
<li class="header">HEADER</li>
<!-- Optionally, you can add icons to the links -->
<li class="active"><a href="res/link.php"><i class='fa fa-link'></i>
<span>Links</span></a></li>
<li><a href="#"><i class='fa fa-link'></i> <span>Another Link</span></a></li>
<li class="treeview">
<a href="#"><i class='fa fa-link'></i>
<span>Multilevel</span> <i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
<li><a href="#">Link in level 2</a></li>
<li><a href="#">Link in level 2</a></li>
</ul>
</li>
</ul><!-- /.sidebar-menu -->
и мой JavaScript:
var hash = window.location.hash.substr(1);
var href = $('.sidebar-menu li a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-10)){
var toLoad = hash+'.php #content';
$('#content').load(toLoad)
}
});
$('.sidebar-menu li a > .treeview li a').click(function(){
и у меня возникают проблемы с этой линии:
$('.sidebar-menu li a > .treeview li a').click(function(){
Я хочу щелчки sidebar-menu
меню для всех li
с a
однако, когда я нажимаю на меню treeview
, он запускается как ссылка href. Я не хочу, чтобы это было доступно.
Я использую символы меньшего, чем меньше, чем символы в JavaScript?
В CSS (и, следовательно, также в jQuery) символ '>' указывает на прямой дочерний элемент. Таким образом, 'a> .treeview' выбирает элементы с классом treeview, родительским элементом которого является' '. Ваш HTML-код не отображается, так что ваш обработчик клика не будет привязан ни к чему. Как вы думаете, что '' 'сделал бы? – gilly3
И если ваш HTML * сделал * есть какие-либо элементы, которые соответствовали бы этому селектору, это было бы недействительным, и браузер при создании DOM попытался перестроить элементы-узлы; и поэтому селектор все равно не будет соответствовать. –