Я хочу изменить цвет текста строки в таблице HTML, используя jQuery, если обнаружил этот символ "-". Данные поступают из webservice, и я использую AngularJS, но я не знаю, должен ли я использовать директиву для этого.
Это мое угловатое выражение:
<td>{{example.name}}</td>
и это то, что я пробовал:
$('.example.name').each(function() {
if($(this).contains(-)) {
$(this).css('color', 'red');
}
});
Я помещаю этот код в контроллер, который приносит данные, но он не работает, что, когда я думал в директивах.
Итак, как я могу добиться этого
Вы забыли добавить "
around" -
сделать его оператором и синтаксической ошибкой. Измените его на:
if ($(this).contains("-")) {
//-------------------^-^
Единственное место, где вы можете использовать без "
:
if ($(".some-class p:contains(-)")) {
Извините, я не уверен в угловом пути! :(
Вы можете использовать директиву ng-class
/ng-style
для реализации одной и той же вещи угловым способом. Для него предпочтительным является ng-class
.
HTML
<td ng-class="{red: doHighlight(exmaple.name)}" >
...content...
</td>
CSS
.red {
color: red;
}
контроллер
$scope.doHighlight = function(name){
return name.contains('-');
}
$("td:contains(-)").css("color","red");
Вы пытались использовать селектор jQuery :contains()
?
https://api.jquery.com/contains-selector/
Вы также можете добавить класс к <td>
элементам, которые вы хотите запросить.
<td class="example-name">{{example.name}}</td>
Затем измените запрос:
$("td.example-name:contains(-)").css("color","red");