Ссылка на изменяющийся идентификатор CSS

Я должен предварить это, сказав, что я полный новичок в мире редактирования CSS, поэтому я извиняюсь, если это очень просто. Я редактировал отчеты, созданные в MicroStrategy 9.4, но недавно мы обновились до 10.1. До обновления я мог просматривать строки HTML, такие как

<div ty="dsec" id="K1" scriptclass="mstrDocSectionImpl" name="K1" class="mstrDocSection">

и внести небольшие правки. Примером может быть что-то вроде

<style>
    #K1{
        height:130px;
    }
</style>

просто изменить высоту секции. Я мог бы вставить это изменение стиля в контейнер HTML, что повлияет на отчет во время выполнения. Я считаю, что K1 относится к идентификатору. Однако после обновления строка была изменена на

<div id="*lK3*kK1*x1*t1454966440926" k="K1" class="mstrmojo-DocSection" style="">

где id="..." меняется каждый раз, когда я его запускаю. Поскольку он меняется, я не знаю надежного способа отредактировать этот раздел. k="K1" не меняется, но я не знаю, как на это ссылаться. Любое понимание, которое вы можете дать по этому поводу, очень ценится.


person Poisson Fish    schedule 08.02.2016    source источник


Ответы (1)


Попробуйте использовать селектор атрибутов:

[k="K1"] {
  height: 150px;
}

Демонстрация JSFiddle

Хотя это может быть немного больше работы, похоже, что новый идентификатор (id="") может быть частично статичным. То есть звездочки кажутся своего рода разделителями. Если это так, вы можете дополнительно выбрать часть этой строки идентификатора, которая не изменяется. В моем примере ниже я предполагаю, что данные между второй и третьей звездочками в *lK3*kK1*x1*t1454966440926 не меняются. Если это так, вы можете выбрать эту часть строки.

[id*="kK1"] {
  font-size: 5em;
}

Демонстрация JSFiddle

person hungerstar    schedule 08.02.2016
comment
Вы правы в том, что раздел kK1 кажется статическим, но ни один из них не работает. Возможно (хотя это было бы огромным разочарованием), некоторые из этих функций объявлены устаревшими. Спасибо за помощь! - person Poisson Fish; 09.02.2016
comment
Кто обесценил какие функции? Приведенные выше решения работают, как показано в предоставленном JSFiddles. Если вы не видите никаких изменений, это означает, что специфичность селектора достаточно высока. - person hungerstar; 09.02.2016
comment
Возможно, MicroStrategy удалила возможность редактирования отчетов. Хотя это было бы довольно шокирующе, так что я покопаюсь еще немного. Я не сомневаюсь, что ваше решение в целом сработает, но я, должно быть, делаю что-то не так. - person Poisson Fish; 09.02.2016
comment
Вы пытались увеличить специфичность селектора? Прямо сейчас специфичность селекторов выше 0010 (довольно низкая). Есть ли внешний элемент со статическим идентификатором, который вы можете добавить в свой селектор, чтобы повысить его специфичность? Если это так, вы можете сделать что-то вроде #micro-strategy [k="K1"] со специфичностью 0110, которая выше, чем [k="K1"] со специфичностью 0010. - person hungerstar; 09.02.2016
comment
Вот и получилось, спасибо! Мне придется поиграть с этим, но, похоже, это проблема. - person Poisson Fish; 09.02.2016