2014-09-11 3 views
-5

Ниже приведен мой код, который предположительно является сценарием, который меняет цвет квадрата после того, как вы нажмете его, используя метод toggleclass() в jquery. Я думаю, что мой код прав, но я не могу получить квадрат, чтобы изменить цвет. Что я делаю не так? благодаряПереключатель класса в jQuery

Вот мой код:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>My Page</title> 
     <script src="js/jquery-1.11.1.min.js"></script> 
     <script type="text/javascript" language="javascript"> 
     <script> 
      $("p").click(function() { 
      $(this).toggleClass("p.over"); 
      }); 
     </script> 
     <style> 
      p { background:#DAA520; font-weight:bold; cursor:pointer; 
       padding:5px;width:20%;} 
      p.over { background: #ADFF2F; } 
      span { color:red; } 
     </style> 
    </head> 
    <body> 
     <p>Click or double click here.</p> 
     <span></span> 
    </body> 
</html> 
+0

'toggleClass (" over ")' – melancia

+0

Вы хотите переключить класс 'over' на щелчок' p'. То, что вы делаете сейчас, - это переключить класс 'p.over' на щелчок' p'. –

+1

Вам также нужно либо обернуть свой код в готовый вызов документа, либо поместить его в конец документа. В противном случае он пытается ссылаться на элементы, которые еще не существуют. Кроме того, что должна делать эта строка: '

0

css class является правилом .whatever. У вас нет классов в определениях CSS, просто элементов.

.foo { color: puce } /* this is a class */ 
p { color: chartreuse } /* this is an element */ 
p.foo { color: aubergine } /* this is an element AND a class */ 

toggleClass('foo'); 

Вы переключаясь на element.class, но toggleClass ожидает только класс, а не элемент.

Смежные вопросы