2015-06-11 3 views
0

У меня есть этот кусок кода, который изменяет границы списка HTML элементов при условииВыбор HTML элементов на основе стиля

xh.highlightNodes = function (nodes) { 
    for (var i = 0, l = nodes.length; i < l; i++) { 
     nodes[i].style.border = "4px solid blue"; 
    } 
}; 

Теперь я хочу, чтобы удалить границу на срабатывании какого-либо события. Как это сделать?

Я пробовал это, но он, похоже, не работает.

$('html').filter(function() { 
    return $(this).css('border') == '4px solid blue'; 
}).css('border', ''); 
+2

Применить один класс к родительскому элементу ваших узлов и использовать этот класс, чтобы определить границы узлов с помощью CSS. Затем просто удалите этот класс – fcalderan

+0

Я хочу изменить границу только для конкретного элемента. Ваше решение изменило бы границу для моих братьев и сестер моего элемента? – pd176

+0

вы должны настроить скрипку с использованием фактической разметки, которую вы используете. – fcalderan

ответ

0

Проблема заключается в конвертацию цвета в JS. Поскольку $ (this) .css ('border') фактически равен 4px solid rgb (0, 0, 255), но не «4px solid blue».

return $(this).css('border') === '4px solid rgb(0, 0, 255)'; 

Рабочий код http://codepen.io/NataliaS29/pen/vOZJQY

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