Вносите ли вы свои изменения таким образом, чтобы в итоге получилось более одного элемента с одинаковым идентификатором? -)
Это явно противоречит всей идее, используя идентификаторы, они должны быть полностью уникальными в контексте html-документа ...
- первое, что вам нужно сделать, это убедиться, что вы обращаетесь только к своим li-элементам:
liArray=element.parentNode.getElementsByTagName("li");
Во-вторых, это может быть идея, чтобы обеспечить более высокий приоритет для одного из ваших селекторов, установив что-то большее в селекторе:
Наивысший приоритет достигается, если вы используете встроенный атрибут стиля в теге, но здесь это, похоже, не имеет смысла.
Идентификаторы дают высокий приоритет, класс - справедливый приоритет, а элементные и псевдоселекторы - низкий приоритет ...
Однако каждый тип приоритета накапливается, и таким образом вы можете дать одному селектору очень высокий приоритет, предшествуя другому с тем же типом приоритета:
ul#leftlist
дает 1 балл с высоким приоритетом и 1 балл с низким приоритетом
#myParent ul#leftlist
дает 2 балла с высоким приоритетом и 1 с низким
.myParent ul#leftlist
дает 1 балл с высоким приоритетом, 1 балл с справедливым приоритетом и 1 балл с низким приоритетом
Таким образом, вы можете различать приоритет для ваших селекторов в таблице стилей! -)