Замена значений полей elem.innerHTML.replace
Всем привет.
Никак не выходит заменить выражения с английского на русский в таблице. Заменяется только 'Name' на 'Название', а следующие поля остаются на английском. Требуется помощь в решении данного вопроса :) <table id="indexlist"> <tr class="indexhead"> <th class="indexcolicon"> <img src="/listing/.styles/icons/blank.svg" /> </th> <th class="indexcolname"> <a href="?C=N;O=D">Name</a> </th> <th class="indexcolsize"> <a href="?C=S;O=A">Size</a> </th> <th class="indexcoldesc"> <a href="?C=D;O=A">Description</a> </th> </tr> <tr class="even"> <td class="indexcolicon"> <img src="/listing/.styles/icons/folder-home.svg" /> </td> <td class="indexcolname"> <a href="/">Parent Directory</a> </td> <td class="indexcolsize"> - </td> <td class="indexcoldesc"> <span class='description'>↑ Наверх</span> </td> </tr> </table> elem = document.getElementsByClassName ('th.indexcolname') [0]; elem.innerHTML = elem.innerHTML.replace ('Name', 'Название'); elem = document.getElementsByClassName ('th.indexcolsize') [0]; elem.innerHTML = elem.innerHTML.replace ('Size', 'Размер'); elem = document.getElementsByClassName ('th.indexcoldesc') [0]; elem.innerHTML = elem.innerHTML.replace ('Description', 'Описание'); elem = document.getElementsByClassName ('indexcolname') [0]; elem.innerHTML = elem.innerHTML.replace ('Parent Directory', 'Наверх'); В данном коде указал th. с классами потому, что требуются замены именно на th-полях, чтобы случайно не произошло замены данных выражений в столбцах td. К сожалению изменить выражения в самой таблице не представляется возможным, потому что она формируется модулем апача, а именно mod_autoindex |
Чье это, почему не заменить руками в исходнике, почему скриптом меняется?
Если скрипт, то в TH: var reply = ['Название', 'Размер', 'Описание']; document.querySelectorAll('#indexlist th a').forEach(function(e, i) { e.textContent = reply[i] }); А Parent Directory, это в одной строке таблицы или их много? |
Вложений: 1
laimas, доброй ночи. Поменять это в исходнике не выйдет, потому что эта таблица формируется модулем апача mod_autoindex, это листинг файлов. В модуле жёстко забиты значения ячеек...
Вот как раз сейчас оставил в баг репорте разработчиков Apache топик на эту тему, чтобы в новых релизах этот мелкий неприятный косяк исправили и добавили пару опций в модуль, чтобы можно было как угодно менять значения ячеек. Parent Directory находится в ячейке TD и используется один раз, эта ссылка ведёт на каталог выше. Беда в том, что нужно как-то перевести только это значение. Т.е. чтобы если вдруг в листинге появится файл, содержащий в своём названии 'Parent Directory', то оно не перевелось... Скрин приложил UPD: ваш код работает, заменилось всё, как нужно. Осталось разобраться с 'Parent Directory' :-) |
Ясно.
document.querySelector('tr.even a').textContent = 'Наверх'; |
laimas, большое спасибо, всё работает, как нужно. Плюс в карму кинул :-)
|
Часовой пояс GMT +3, время: 19:30. |