У меня есть код jquery, который проверяет класс .slide
на pageload. У меня есть классы .slide
внутри моих шаблонов, которые он не находит, и я пытаюсь найти способ заставить их найти его. (возможно, создав директиву?)
Если у кого есть какие-то идеи, я бы очень признателен.
Код выглядит следующим образом:
var items = $('.slide');
var content = $('.content');
function open() {
$(items).removeClass('close').addClass('open');
}
function close() {
$(items).removeClass('open').addClass('close');
}
$('#navToggle').on(clickevent, function(event) {
event.stopPropagation();
event.preventDefault();
if (content.hasClass('open')) {
close();
} else {
open();
}
});
content.click(function() {
if (content.hasClass('open')) {
close();
}
});
Вы можете создать директиву с тем же именем, что и имя вашего класса:
Скажем, у вас есть два промежутка с одним, которое вам нужно отличить, используя класс myclass:
<div ng-app="ClassExample" ng-controller="someController">
<span class="myclass myotherclass">target span</span><br/>
<span class="myotherclass">other span</span>
</div>
Затем сопроводительный код js будет включать определение директивы, используя имя класса 'myclass', и вы можете ограничить эту директиву классами, используя ограничение: 'C':
angular.module('ClassExample',[]).directive('myclass', function() {
return {
template:'hello world',
restrict: 'C'
};
}).controller('someController',function() {
});
Вот скрипка: https://jsfiddle.net/1L3h8y7s/1/
.slide
в шаблонах, загруженных после этого. @pravee-n Pravee-н