Я сделал несколько элементов управления, которые редактируют цвет фона, шрифт и т.д. Определенной страницы, загруженной в приложение.
Теперь, когда я меняю, например, фоновый цвет, вся страница получает этот цвет.
Конечно, я не хочу, чтобы моя панель управления (слева и справа) тоже менялась.
вся страница построена как html-таблица, а внутри среднего столбца - это div, который является страницей, которую я хотел бы отредактировать.
средний код div:
<td style = " vertical-align:top" ><% if (Model != null && Model.PublicationID != 0)
{
Html.RenderPartial("TopBar", Model); %>
<div class="xcontainer">
<% foreach (QuartzNew.Models.Edition e in Model.Editions)
{
if (e != null)
{
Model.SelectedEdition = e;
Html.RenderPartial("GridCell", Model); // If SingleIssueShopLayout="Grid" else Html.RenderPartial("SearchResult", Model);
}
}
%>
<% } %>
</div>
</td>
Функция Jquery, которую я хотел бы выполнить:
$('#page-properties-BGcolor-Colorpicker').miniColors({
change: function (hex) {
$('#page-properties-BGcolor-Colorpicker').val(hex)
$("html, body").not($(".Controlpanel")).css("background", hex);
// fillPageValues()
}
});
Ваш селектор извлекает элементы html
и body
которые не являются $(".Controlpanel")
что немного бессмысленно, потому что это всегда так и изменит фон как html, так и body.
Вы должны выбрать элемент, который хотите изменить, а не тело html. Попробуй это:
$('.xcontainer').css("background", hex);
Вы пробовали просто меняться:
$("html, body").not($(".Controlpanel")).css("background", hex);
к
$(".xcontainer").css("background", hex);
В настоящее время объем вашего аргумента потенциально недостаточно специфичен, чтобы просто изолировать элемент, который вы хотите настроить.