2017-01-20 2 views
1

im пытается создать функцию, которая поможет мне изменить некоторый css без необходимости повторять код каждый раз.параметр функции для css jquery

это мой код:

function error(e){ 
     e.css({ 
      'border':'2px solid red', 
      'background-color':'rgba(250,52,5,.2)' 
     }) 
} 

, как вы можете видеть, я буду добавлять (е) параметр, так что я могу применить функцию к любому элементу.

функция работает нормально, но им получаю следующее сообщение об ошибке:

Uncaught TypeError: Не удается прочитать свойство «CSS» неопределенной на ошибки (scripts1.js: 83)

есть любой другой или лучше способ сделать это? Извините за мой английский и этот простой вопрос, как нищий, как вы можете видеть.

спасибо.

+2

Использовать '$ (e) .css (...)' – talkhabi

+0

Что вы передаете как 'e' за' ошибку'? Другими словами, как вы называете 'error'? –

+0

Проблема в том месте, где вы вызываете 'error()', а не в самой функции. Вам нужно показать этот код. – Barmar

ответ

1

Похоже, вы не передадите какую-либо ценность своей функции. Таким образом, вы получаете неопределенную ошибку.

Я хотел бы предложить вам установить класс для ошибок в таблицах стилей, таких как:

.error { 
     border:2px solid red; 
     background-color:rgba(250,52,5,.2); 
    } 

Теперь, когда вы получаете сообщение об ошибке, просто установите класс на элемент:

function error (e) { 
    $(e).addClass('error'); 
} 

Убедитесь, что вы передаете элемент Dom в функцию ошибки.

+0

вот в чем проблема, спасибо Poushy. –

+0

Awesome !!! С удовольствием помогли ... :) – poushy

0

Избавьтесь от .css и используйте .addClass. Определите класс в таблице стилей.

+0

Я буду помнить об этом в следующий раз, кажется, самый простой способ сделать, чем вы –

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