У меня есть следующая разметка:
<tr>
<th>Colorcode:</th>
<td class="get-color-1"><?php echo $debtor['CustomFields'['kleurcode1'];?>
<div class="custom-kleurcode1" style="width:40px; height:40px;></div>
</td>
</tr>
<script type="text/javascript">
$(document).ready(function(){
$(".custom-kleurcode1").css("background-color","yellow");
});
</script>
td
элемент с .get-color-1
Класс echo, например, цветовой код, например: #000000
и меняется каждый день. Я хочу дать фон div
с классом .custom-kleurcode1
этот цвет с JQuery.
Можно ли прочитать внутреннюю часть td
и использовать его как background-color
?
Поскольку значение помещается в текстовый узел в DOM, вы можете извлечь его значение из области действия .custom-kleurcode1
элемент с помощью this.previousSibling.textContent
, Вы можете предоставить функцию css()
который читает, возвращает значение, которое будет установлено, вот так:
$(document).ready(function() {
$(".custom-kleurcode1").css("background-color", function() {
return this.previousSibling.textContent;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<th>Colorcode:</th>
<td class="get-color-1">
<!-- <?php echo $debtor['CustomFields'['kleurcode1'];?> -->
#CC0000
<div class="custom-kleurcode1" style="width:40px; height:40px;"></div>
</td>
</tr>
</table>
Вы можете разместить цвет, например в отдельном атрибуте вашего тд:
<td class="get-color-1" data-attr-color="<?php echo $debtor['CustomFields'['kleurcode1'];?>">
Тогда возьмите это оттуда:
var colorCode = $(".get-color-1").attr("data-attr-color");
И измените цвет фона:
$(".custom-kleurcode1").css("background-color", colorCode);