Как я могу добавить стиль CSS для Div, когда я нажал кнопку в другом Div

0

Я пытаюсь добавить некоторые стили CSS для текста div, когда я нажал кнопку в другом div

вот мой html-код

<div class="row" id="target">
  <h2>{{txt}} </h2>
</div>


<div class="row">
  <button my-dir>Click Me</button>
</div>

мой код js

.directive('myDir', function () {
  return {
    restrict: 'A',

    link: function (scope, elem, attr) {
      console.log(elem); 
      elem.bind('click', function (e) {
        console.log("coming");
        elem.find('#target').css({
          backgroundColor: 'red'
        })    

        // angular.element(e.target).siblings('#target').addClass('clr');
      });

    }
  }
});

моя проблема в том, что когда я нажал кнопку в одном стиле div css, нужно применить для другого div с помощью директивы, я попробовал что-то вроде выше, но не работал.

заранее спасибо

2 ответа

2
Лучший ответ

elem будет ссылаться на button. Итак, elem.find('#target') будет искать #target внутри elem

Вы можете сделать это

elem.bind('click', function (e) {
        $('body').find('#target').css({
          backgroundColor: 'red'
        })    
});
0

если ваш идентификатор элемента уникален и не изменен, вы можете упростить его, как показано ниже

 elem.bind('click', function () {
         $('#target').css('backgroundColor','red');
 });

elem.find найдет все div с id, содержащим "target", попробуйте использовать уникальный идентификатор для всех изменений div. Это поможет вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню