• Авторизация


Javascript замена кода HTML 17-12-2007 19:46 к комментариям - к полной версии - понравилось!


Настроение сейчас - нетерпеливое

Здравствуйте, уважаемые разработчики!
Такая проблема возникла: нужно заменить в такой строчке <td rowspan="3"  width="16" height="638" style="background: url(/images/21.png) no-repeat;"></td>
вот это style="background: url(/images/21.png) no-repeat;"
на это style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/21.png', sizingMethod='scale');"
Для IE6 и меньше и для разных картинок. Подскажите пожалуйста как в Javascript делается замена кода .
При этом в CSS вынести нельзя, фон съезжает или вообще не показывается.
Я видела в сети вот такой код, но его надо переделать, а я не знаю как... подскажите плиз!!!
window.attachEvent("onload", fixWeatherPng);
function fixWeatherPng() {
   var img = document.getElementById("weatherImage");
   var src = img.src;
   var div = document.createElement("DIV");
   div.style.filter = "progid:DXImageTransform.Microsoft.
     AlphaImageLoader(src='" + src + "', sizing='scale')";
   img.replaceNode(div);
}
вверх^ к полной версии понравилось! в evernote
Комментарии (3):
Bangerson 17-12-2007-20:04 удалить
а это случаем не для исправления бага с PNG в IE6 и ниже? если да то можно воспользоваться комментариями с условиями в коде
Sa_Bo_Nim 17-12-2007-22:09 удалить
я все перепробовала, нужно менять именно скриптом, по-другому не получается (или вы предложите решение лучше чем здесь: http://designcollector.ru/png-v1 http://www.habrahabr.ru/blog/la_france/22751.html http://higher.com.ua/article/79/www.wilsonminer.com http://www.webmakerslounge.com/usef...ipts/png-ie-fix http://www.umade.ru/log/2004/12/54.html
Bangerson 17-12-2007-22:24 удалить
я брал решение предложенное Лебедевым, если память не изменяет. короче говоря вот оно: для нужного PNG ставите атрибут class='iePNG'
Sa_Bo_Nim 18-12-2007-19:36 удалить
Bangerson, спасибо! Но не подошло. Ну неужели нет того кто знает Javascript и может переделать предложенный вариант? Вот поподробнее условия: 1)Известно что td элемент имеет атрибут style с прописанным background в виде картинки png (стиль не выносится в файл css - это важно!) 2)Нужно найти такой элемент, взять у него адрес этой картинки и написать ВМЕСТО стиля background стиль filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/21.png', sizingMethod='scale'); при этом подставив в нужное место адрес картинки. Прямо в текущем html а не в css ПОЖАЛУЙСТА НАПИШИТЕ КТО-НИБУДЬ КОД СКРИПТА, ОЧЕНЬ НАДО! Если бы я знала яваскрипт я бы сама разобралась, но не знаю!!!
31-12-2008-03:59 удалить
Ну, тут всё просто. Ща накатаю. [script type=text/javascript] function bg('png21') { if (navigator.userAgent.indexOf('IE 6') > -1) if (navigator.userAgent.indexOf('Opera') == -1 && navigator.userAgent.indexOf('IE 7') == -1) var x=document.getElementById('png21').style; x.background = 'none'; x.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/21.png', sizingMethod='scale')"; [/script] =============================== В HTML: [td rowspan=3 width=16 id=png21 height=638 style="background: url(/images/21.png) no-repeat;"] Должно прокатить, сейчас тестить как-то лень))) Будут ошибки - пиши. Успехов! =) P.S. Там, где [script type=text/javascript] и [/script] - квадратные скобки замени на стандартные ХТМЛ-шные, то же самое в [td]. Просто liveinternet как-то странно боится этих тегов)))
31-12-2008-04:04 удалить
Кстати, всё было бы НАМНОГО проще, если бы можно было кинуть класс в CSS ( через expressions() ). Но, по идее не должно быть никаких проблем с переносом в CSS! Ты просто явно где-то ошиблась...


Комментарии (3): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Javascript замена кода HTML | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»