candro,
Ну так, убери кнопку, и вызывай ф-цию напрямую, какие проблемы? Я кнопку в демонстрационных целях добавил |
candro,
<html> <head> <meta charset="windows-1251"> <style> .block1{background: red} .block2{background: green} </style> </head> <body> <div id="wrap"> <div class="block1">block1</div> <div class="block2">block2</div> </div> <script> wrap=document.querySelector("#wrap") ;(function(){ var re=/<div.*block1.*\/div>/, block=wrap.innerHTML, block=block.replace(re, "<div class='block2'>block2</div>") wrap.innerHTML=block })() </script> </body> </html> |
Понятно, а как, но что-то разобраться не могу, вот если заменять в коде только начало блока <div class="block1"> на
<div class="block2"></div><div class="block1">. Что поправить нужно? <script> wrap=document.querySelector("#wrap") ;(function(){ var re=/<div.*block1.*\/, block=wrap.innerHTML, block=block.replace(re, "<div class='block2'>block2</div><div class='block1'>") wrap.innerHTML=block })() </script> Так нужно? |
Цитата:
|
Ты ведь в курсе, что объявление с var и без - не одно и тоже?
|
Цитата:
|
candro, проще всего наверное так
<html> <head> <meta charset="windows-1251"> <style> .block1{background: red} .block2{background: green} </style> </head> <body> <div id="wrap"> <div class="block1">block1</div> <div class="block2">block2</div> </div> <script> wrap=document.querySelector("#wrap") ;(function(){ var re=/<div\s+class\s*=\s*['"]\s*block1\s*['"]/, block=wrap.innerHTML, block=block.replace(re, "<div class='block2'") wrap.innerHTML=block })() </script> </body> </html> |
danik.js,
Там есть нюансы, конечно, криво-реализационно-специфичные:). Но принципиальную разницу я только в ноде раньше замечал. А если все переменные без вар заменить на window.variable работает? |
Получается он добавляет после блока1 блок2, верно?
|
Цитата:
Кусок текста меняет. А блок2 там как был так и остался. |
Часовой пояс GMT +3, время: 13:14. |