Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jquery, заменить один тег на другую (https://javascript.ru/forum/misc/28647-jquery-zamenit-odin-teg-na-druguyu.html)

dadli 27.05.2012 23:59

jquery, заменить один тег на другую
 
здравствуите

есть елемент <p>, хочу зманеит её на елементе <span>, а потом изменить background-color все елементи <span>
сделаю так

$("p").replaceWith("<span></span>");

$(document).ready( function () {
    $("span").css({ "background-color": "#090" });
});


<p> ppppppppppp </p>
<span> spaaann </span>


резултат такои: изменяется бг-цвет тот елемента, котори бил основа <span>, а елемент <p> котори я думал что заменил на <span>-е остается не изменен, подскажите пожалуиста где ошибка? как правилно?

melky 28.05.2012 00:30

1.

$("p").replaceWith("<span></span>");

нужно исполнять после загрузки

2.
$("p").replaceWith("<span></span>"); заменит все <p> на пустые span. для того, чтобы сохранить содержимое, нужно исп-ть ф-ю обратного вызова.
$("p").replaceWith(function(index, oldHTML){ 
  return $("<span>").html(oldHTML);
});

dadli 28.05.2012 12:19

melky,
спасибо балшое


Часовой пояс GMT +3, время: 06:21.