Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用纯文本替换html按钮_Javascript_Html_Button - Fatal编程技术网

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>");
});