如何使用 JavaScript 将输入提交元素转换为按钮元素
How to convert an input submit element to a button element using JavaScript?
我正在尝试将<input type="submit">
按钮转换为<button>
元素以及它的所有id,类,事件,tabindex等。
对好方法有什么想法吗?jQuery也是一种选择。
注意:我无法访问原始<input type="submit">
html代码。
var input = document.yourWayOfSelectingIt('maybeAnID');
input.outerHTML = input.outerHTML.replace(/^'<input/, '<button') + input.value + '</button>';
演示
这是一个有效的解决方案,可以获取所有属性并将原始元素替换为按钮元素。对于新元素上不需要的属性,可以在"this.specific"条件之后放置一个条件。
<form action="test.php" action="post">
<input id="submit" type="submit" />
</form>
<script>
var oSubmitButton = $('input[type="submit"]');
var oForm = oSubmitButton.closest('form');
var sOriginAttrs = '';
$.each(oSubmitButton[0].attributes, function() {
if (this.specified) {
sOriginAttrs += ' ' + this.name + '="' + this.value + '"';
}
});
oSubmitButton.replaceWith($('<button ' + sOriginAttrs + '>').text('Submit').click(function(event) {
event.preventDefault();
//Maybe a form submit
//oForm.submit();
}));
</script>
创建了一个小提琴
相关文章:
- 使用JavaScript在Json中提取时,将数组的元素转换为String
- 将 DOM 元素转换为具有所有继承的 JavaScript 类
- 将元素转换为可丢弃区域的要求是什么
- 正在将DOM元素转换为原始HTML字符串
- 是否可以将一个DOM元素转换为另一个?或者从中复制所有属性
- parseInt() 不会将数组的每个数组元素转换为整数
- 将 SVG 元素转换为字符串
- 将 HTML/CSS 元素转换为可重用的 AngularJS 指令
- 将 HTML 元素转换为图像(服务器端)
- 如何在 Javascript 中从混合的 HTML 字符串/DOM 元素转换为 DOM 元素
- 如何使用 JavaScript 将输入提交元素转换为按钮元素
- 如何将各种元素转换为绝对中心
- 将 DOM 元素转换为 HTML 代码并显示在页面上的文本区域中
- 将html元素转换为字符串Javascript(使用搜索获得,而不是内部/外部html)
- Javascript+CSS:从绝对定位的元素转换为CSS转换(左、上、宽、高到translateX、translate
- 将html img元素转换为画布
- 如何将SVG元素转换为PDF
- 将DIV元素转换为字符串
- 如何将计算器运算元素转换为字符串以获得解,然后将解返回到元素中
- 使用Form元素转换/更改Div元素