Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Заменить width на height (https://javascript.ru/forum/jquery/49117-zamenit-width-na-height.html)

hosts 30.07.2014 08:33

Заменить width на height
 
Всем привет.
Есть такой html код, который прописан в php:
<ul class="unit-rating">
    <li class="current-rating" style="width:{$rating}%;">{$rating}</li>
</ul>

На выходе (на сайте) значение {$rating} формируется автоматически от 0 до 100%. Нужно, чтобы стиль width автоматически заменился на height и при этом, чтобы не трогалось значение {$rating}.
Я знаю, что можно просто в php заменить width на height, но мне нужно сделать это без правок php файлов.
Есть какие-то варианты через jquery? Гугл не помог...

Aetae 30.07.2014 08:38

Где формируется то этот самый {$rating}, на сервере или клиенте?
Если на сервере, то в чём проблема?
var style = document.querySelector('.current-rating').style;
style.height = style.width;
style.width = '';

Если таки на клиенте - надо смотреть что за библиотека это делает, и делать через неё. Хотя и вышеописанный вариант сойдёт если подгадать время.=\

hosts 30.07.2014 08:46

На сервере. Ваш способ работает, но заменяется только одно значение width на height, а их там много. Короче везде кроме одного остается width. Можно как-то указать, чтобы все заменились?

Aetae 30.07.2014 09:14

var rating = document.querySelectorAll('.current-rating'), i = rating.length;
while(i--){
    var style = rating[i].style;
    style.height = style.width;
    style.width = '';
}
Это всё самая базовая элементарщина.

hosts 30.07.2014 09:22

я и не спорю) я в этом почти полный 0.
Но теперь другая проблема. Сейчас везде ширина заменилась на высоту и, наверное, как вы поняли, это рейтинг. Так вот когда смотришь код рейтинга на сайте, там написано height:0%, но когда голосуешь (голосование через ajax), height опять заменяется на width и помогает только перезагрузка страницы. Знаю что уже достал вас)) Но можно как-то сделать, чтобы width при голосовании там вообще не появлялся?

Aetae 30.07.2014 12:00

<style>.current-rating{width:auto !important}</style>

hosts 30.07.2014 12:27

От этого только хуже стало( рейтинг вообще исчез :(

Aetae 30.07.2014 14:04

Аяксом он не из воздуха грузится. Грузит новые данные какая-то функция. Вот в её работу и надо вносить изменения.

hosts 30.07.2014 14:13

это сложновато


Часовой пояс GMT +3, время: 15:27.