Замена текста элемента label сщдержащего другие элементы
Есть:
<label id="showTable" onclick="showRevisions();"> <img class="icon" src="/ImageServlet/adc119526aeedafff0ff748ada8dd6d3/cssimages/compact.png"/>Показать</label> Как заменить текст "Показать" на другой? Можно было бы сделать: var swchLabel = document.getElementById("showTable"); swchLabel.innerHTML = "<img class='icon' src='/ImageServlet/adc119526aeedafff0ff748ada8dd6d3/cssimages/compact.png'/>Скрыть" Но мне нехочется так захламлять код, ведь img мне менять не надо. |
<label onclick="showRevisions();"> <img class="icon" src="/ImageServlet/adc119526aeedafff0ff748ada8dd6d3/cssimages/compact.png"/><span id="showTable">Показать</span></label> |
А не меняя html никак нельзя подобраться к этому "Показать"?
|
Найти соответствующий textNode, но это уж лучше картинку сохранять
var swchLabel = document.getElementById("showTable"); var img = swchLabel.getElementsByTagName('img')[0]; swchLabel.innerHTML = "Скрыть"; swchLabel.insertBefore(img, swchLabel.firstChild);Как-то так. |
Совет: все динамически меняемые тексты обрамляйте тегом span с определенным классом. Так значительно проще добраться до него, а на отображение браузером это не повлияет. (а если повлияет, оторвите руки тому, кто писал css :))
|
Цитата:
|
Часовой пояс GMT +3, время: 21:54. |