Здравствуйте, как заменить input [type=submit] на button [type=submit] через javascript, input кнопки невидимы и обычным способом их не заменить, а требуется сделать хорошее оформление для кнопок с before и after, на странице их несколько, replacewidth не помог.
// Расширяем $.fn.attr для получения списка всех атрибутов (https://stackoverflow.com/questions/14645806/get-all-attributes-of-an-element-using-jquery)
(function(old) {
$.fn.attr = function() {
if(arguments.length === 0) {
if(this.length === 0) {
return null;
}
var obj = {};
$.each(this[0].attributes, function() {
if(this.specified) {
obj[this.name] = this.value;
}
});
return obj;
}
return old.apply(this, arguments);
};
})($.fn.attr);
// Сам input
var input = $('.btn-block');
// Заменяем на button c сохранением всех атрибутов
input.replaceWith(
$('<button />')
.attr(input.attr())
.text(input.val())
);
// Просто смотрим что получилось
$('<p />').text($('div').html()).appendTo($('div'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input class="btn-block" name="sbm" type="submit" value="Отправить">
</div>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости