Javascript 如何用纯文本替换html按钮
你如何用以前按钮上的文字替换按钮?我在看另一个类似问题的答案,它说使用类似于:Javascript 如何用纯文本替换html按钮,javascript,html,button,Javascript,Html,Button,你如何用以前按钮上的文字替换按钮?我在看另一个类似问题的答案,它说使用类似于: var myBtn = document.getElementById("buttonId"), mySpan = document.createElement("span"); mySpan.innerHTML = myBtn.innerHTML ; myBtn .parentNode.replaceChild(mySpan, myBtn); 但这也改变了其他按钮的功能。有人知道将按钮更改为常规文本的其他方法吗
var myBtn = document.getElementById("buttonId"),
mySpan = document.createElement("span");
mySpan.innerHTML = myBtn.innerHTML ;
myBtn .parentNode.replaceChild(mySpan, myBtn);
但这也改变了其他按钮的功能。有人知道将按钮更改为常规文本的其他方法吗
我知道代码本身就可以工作,但由于某些原因,它不能与我的代码一起工作,所以我并不真正关心代码有什么问题。我只是想知道是否有人知道另一种方法
谢谢
函数更改(){//单击按钮时要运行的函数。。。
var buttonValue=document.getElementById(“submit”).value;//存储按钮值
document.getElementById(“myDiv”).innerHTML=buttonValue;//在“myDiv”中以纯文本形式显示值-完全删除按钮输入
}
编辑:
我刚刚注意到页面中有多个按钮,这将使我前面的示例出错。这里有一些东西可以让你工作起来更轻松,我想如果你需要添加额外的按钮:
首先,代码如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul>
<li id="id_1"><input type="button" value="Change into Text" onClick="change(1)" id="button_1"></li>
<li id="id_2"><input type="button" value="Change into Text" onClick="change(2)" id="button_2"></li>
<li id="id_3"><input type="button" value="Change into Text" onClick="change(3)" id="button_3"></li>
</ul>
</body>
</html>
<script type="text/javascript">
var id;
function change(id){
var buttonValue = document.getElementById("button_"+id).value;
document.getElementById("id_"+id).innerHTML = buttonValue;
}
</script>
变量id;
功能更改(id){
var buttonValue=document.getElementById(“按钮”+id).value;
document.getElementById(“id_25;”+id).innerHTML=buttonValue;
}
在HTML部分,您可以创建按钮列表,如果这是您的布局。。。
每个列表都有自己的id,在本例中为id\u x
,稍后替换其内容时将使用该id。每个按钮调用一个函数change(id)
,而id
只是每个按钮的唯一编号
在JS部分中,change(id)
获取被单击按钮的id,获取其值,并用纯文本替换相关列表项的innerHTML(内容)
如果您还需要其他帮助,请告诉我。
<html>
<script>
function fun()
{
var a = document.getElementById("hello").value;
document.getElementById("ad").innerHTML = a;
}
</script>
<body>
<div id="ad">
<input type="button" value="hello" id="hello" onClick="fun()">
</div>
</body>
</html>
函数fun()
{
var a=document.getElementById(“hello”).value;
document.getElementById(“ad”).innerHTML=a;
}
抱歉,编辑了错误的帖子似乎您正在寻找另一种方法来用纯文本替换按钮,那么我将向您展示jQuery方法 HTML
带有一些文本的按钮1
带有一些文本的按钮2
带有一些文本的按钮3
jQuery
//当我们单击带有“更改按钮”类的按钮时
$(“.change button”)。在(“单击”)上,函数(事件){
//首先,我们获取单击按钮的ID值
//示例:“btn2”
var buttonId=$(this.attr('id');
//然后我们得到点击按钮的html值
//示例:“带有一些文本的按钮2”
var buttonText=$(this.html();
//我们使用函数replaceWith将按钮替换为
//对于buttonText变量,我们有
$('#'+buttonId).替换为(“+buttonText+”);
});
正如您所看到的,jQuery更加简洁。你应该试试看
这是您可以测试它的方法。上面的代码看起来不错,它在做什么>?确保您的其他按钮都没有
id=“buttonId”
好的,有六个按钮,每当我将其应用到其中一个按钮时,所有按钮都会被禁用。我确实在代码中禁用和启用了很多按钮,但它只是随机禁用了它们,似乎工作得很好:@user3130551:嗯,出了点问题。但是你发布的代码是正确的,所以我们无能为力。没有解释的代码不是答案。我有两个问题:1。我使用的是按钮标签,而不是输入标签,这有区别吗。对于我的按钮,值和id是不同的,所以我会在第一行javascript中使用id或值吗?刚才注意到您可能需要多个按钮,我提出了一个可能更简单的解决方案。没有解释的代码不是答案。getElementById()方法访问具有指定id的第一个元素。每个HTML元素都有一个innerHTML属性,该属性定义HTML代码和该元素的开始标记和结束标记之间的文本。通过在一些用户交互之后更改元素的innerHTML,您可以创建更多交互页面。但是,如果您希望能够轻松可靠地使用innerHTML,那么使用innerHTML需要一些准备工作。首先,你必须给你想要改变的元素一个id。有了这个id,你就可以使用getElementById函数,它可以在所有浏览器上运行。我希望你能得到解释。如果没有,请说出您无法理解的行。
<html>
<script>
function fun()
{
var a = document.getElementById("hello").value;
document.getElementById("ad").innerHTML = a;
}
</script>
<body>
<div id="ad">
<input type="button" value="hello" id="hello" onClick="fun()">
</div>
</body>
</html>
<div>
<button id="btn1" class="change-button">A button with some text 1</button>
<button id="btn2" class="change-button">A button with some text 2</button>
<button id="btn3" class="change-button">A button with some text 3</button>
</div>
// When we click a button with a "change-button" class
$(".change-button").on("click", function(event){
// First we get the ID value of the clicked button
// example: "btn2"
var buttonId = $(this).attr('id');
// Then we get the html value of the clicked button
// example: "A button with some text 2"
var buttonText = $(this).html();
// We use the function replaceWith, to replace the button to a <span>
// with the buttonText variable we have
$('#' + buttonId).replaceWith("<span>" + buttonText + "</span>");
});