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, время: 03:19. |